My MKRF requirements can be translated into the following issue: Can
MKRF make the following ugy mess of a MKMF file easier and more
portable ?

--------------WARNING: UGLY MKMf script below: --------------

# Loads mkmf which is used to make makefiles for Ruby extensions
require 'mkmf'

# Give it a name
extension_name = 'digimarc'

# The destination
dir_config(extension_name)

# Get home directory (unfortunately not portable).
home = ENV["HOME"]

# Setup Digimarc Sdk path, add to includes and link. Assumes the sdk is
in
# a directory called "DigimarcSdk" directly in the user's home
directory but
# this can be overriden using the normal -with-digimarcSdk-include &
# -with-digimarcSdk-lib command line options.
digimarcSdkInclude, digimarcSdkLib = dir_config("digimarcSdk",
home+"/DigimarcSdk/Include", home+"/DigimarcSdk/lib")

# Non-portable way of linking our dynamic extension library with some
static library files
# from digimarc the sdk (".a" on linux). Uses full path since these
files are not affected
# by GCC/g++'s -L path settings.
# BTW: Not sure $LOCAL_LIBS is used correctly here but it works.
staticLibs = ["libBitmapIO", "libDWMEmb", "libDWMRdr", "libIWMPCom",
"libIWMRdr"]
staticLibExtension = ".a"
staticLibs.each { |x| $LOCAL_LIBS = $LOCAL_LIBS + " " + digimarcSdkLib
+ "/" + x + staticLibExtension}

# Non-portable way of specifying a C++ linker as required by Digimarc.
CONFIG['LDSHARED']="g++ -shared"

# Defines that os-specific flags that the digimarc SDK uses (also
non-portable)
$CFLAGS=$CFLAGS+" -D\"UNIX=1\""

# Create our makefile.
create_makefile(extension_name)

---------------------------------------------------------------

Cheers,
Morten


Kevin Clark skrev:

> Hi guys,
> Google's Summer of Code has officially come to a close but I in no way
> plan to abandon my project. It's in a fairly stable place and working
> for the libraries that I've played with. That being said, I don't
> think many are using the project. mkmf is old, and though it is ugly,
> I expect people are comfortable with it.
>
> What can I do to help you make a switch? What feature does mkmf have
> that you -need- for your extension? How can I make this easier?
>
> Finally, speak up if you're already using mkrf or have played with it.
> I'm happy to hear criticism.
>
> I hope this thread can give me a list of things to work on as I try to
> move the project along.
> 
> -- 
> Kevin Clark
> http://glu.ttono.us