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