[pure-lang-svn] SF.net SVN: pure-lang: [204] pure/trunk
Status: Beta
Brought to you by:
agraef
From: <ag...@us...> - 2008-06-13 09:59:31
|
Revision: 204 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=204&view=rev Author: agraef Date: 2008-06-13 02:59:39 -0700 (Fri, 13 Jun 2008) Log Message: ----------- Refactoring of host-specific setup, add support for -dynamiclib on OSX. Modified Paths: -------------- pure/trunk/Makefile.in pure/trunk/configure pure/trunk/configure.ac Modified: pure/trunk/Makefile.in =================================================================== --- pure/trunk/Makefile.in 2008-06-13 09:34:55 UTC (rev 203) +++ pure/trunk/Makefile.in 2008-06-13 09:59:39 UTC (rev 204) @@ -74,6 +74,10 @@ sharedlib = @sharedlib@ +# Flag needed to create shared libraries. On most systems this is just -shared. + +shared = @shared@ + # On some systems -fPIC is needed for code linked as a shared library. ifeq ($(sharedlib), yes) @@ -122,7 +126,7 @@ endif $(libpure): $(OBJECT) - $(CXX) -shared -o $@ $(LDFLAGS) $(OBJECT) $(LLVM_LIBS) $(LIBS) + $(CXX) $(shared) -o $@ $(LDFLAGS) $(OBJECT) $(LLVM_LIBS) $(LIBS) ln -sf $(libpure) $(libpurelnk) pure.o: pure.cc Modified: pure/trunk/configure =================================================================== --- pure/trunk/configure 2008-06-13 09:34:55 UTC (rev 203) +++ pure/trunk/configure 2008-06-13 09:59:39 UTC (rev 204) @@ -657,8 +657,9 @@ host_cpu host_vendor host_os +shared +rdynamic PIC -RDYNAMIC DLLEXT AUXLIBS INSTALL_PROGRAM @@ -1847,25 +1848,24 @@ _ACEOF +shared="-shared" +rdynamic="-rdynamic" PIC= -RDYNAMIC= DLLEXT=".so" -AUX_LIBS= +AUXLIBS= case "$host" in - *-*-mingw*) RDYNAMIC="-rdynamic"; DLLEXT=".dll"; - AUXLIBS="-DLIBGLOB='\"libglob.dll\"' -DLIBREGEX='\"libgnurx-0.dll\"'"; + *-*-mingw*) AUXLIBS="-DLIBGLOB='\"libglob.dll\"' -DLIBREGEX='\"libgnurx-0.dll\"'"; LIBS="$LIBS -limagehlp -lpsapi"; - LDFLAGS="-Wl,--enable-auto-import";; - x86_64-*-linux*) RDYNAMIC="-rdynamic"; PIC="-fPIC";; - *-*-linux*) RDYNAMIC="-rdynamic";; - *-*-freebsd*) RDYNAMIC="-rdynamic";; - *-*-darwin*) DLLEXT=".dylib";; - hppa*-hp-hpux*) DLLEXT=".sl";; + LDFLAGS="-Wl,--enable-auto-import"; DLLEXT=".dll";; + x86_64-*-linux*) PIC="-fPIC";; + *-*-darwin*) rdynamic=""; shared="-dynamiclib"; DLLEXT=".dylib";; + hppa*-hp-hpux*) rdynamic=""; DLLEXT=".sl";; esac + # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: @@ -4296,7 +4296,7 @@ # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then enableval=$enable_shared; case "${enableval}" in - no) LDFLAGS="$LDFLAGS $RDYNAMIC"; sharedlib=no ;; + no) LDFLAGS="$LDFLAGS $rdynamic"; sharedlib=no ;; esac fi @@ -6029,8 +6029,9 @@ host_cpu!$host_cpu$ac_delim host_vendor!$host_vendor$ac_delim host_os!$host_os$ac_delim +shared!$shared$ac_delim +rdynamic!$rdynamic$ac_delim PIC!$PIC$ac_delim -RDYNAMIC!$RDYNAMIC$ac_delim DLLEXT!$DLLEXT$ac_delim AUXLIBS!$AUXLIBS$ac_delim INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim @@ -6056,7 +6057,7 @@ LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 70; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 71; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 Modified: pure/trunk/configure.ac =================================================================== --- pure/trunk/configure.ac 2008-06-13 09:34:55 UTC (rev 203) +++ pure/trunk/configure.ac 2008-06-13 09:59:39 UTC (rev 204) @@ -9,25 +9,24 @@ AC_DEFINE_UNQUOTED(HOST, "${host}", [Define to the name of the host system.]) AC_SUBST(host) dnl Figure out extra build flags and filename extensions for various systems. -dnl XXXFIXME: -fPIC is acurrently assumed for Linux x86-64 only. There might -dnl be other Unix systems which need this. +dnl XXXFIXME: This is probably incomplete. Please let me know about options +dnl needed for other Unix flavours. +shared="-shared" +rdynamic="-rdynamic" PIC= -RDYNAMIC= DLLEXT=".so" -AUX_LIBS= +AUXLIBS= case "$host" in - *-*-mingw*) RDYNAMIC="-rdynamic"; DLLEXT=".dll"; - AUXLIBS="-DLIBGLOB='\"libglob.dll\"' -DLIBREGEX='\"libgnurx-0.dll\"'"; + *-*-mingw*) AUXLIBS="-DLIBGLOB='\"libglob.dll\"' -DLIBREGEX='\"libgnurx-0.dll\"'"; LIBS="$LIBS -limagehlp -lpsapi"; - LDFLAGS="-Wl,--enable-auto-import";; - x86_64-*-linux*) RDYNAMIC="-rdynamic"; PIC="-fPIC";; - *-*-linux*) RDYNAMIC="-rdynamic";; - *-*-freebsd*) RDYNAMIC="-rdynamic";; - *-*-darwin*) DLLEXT=".dylib";; - hppa*-hp-hpux*) DLLEXT=".sl";; + LDFLAGS="-Wl,--enable-auto-import"; DLLEXT=".dll";; + x86_64-*-linux*) PIC="-fPIC";; + *-*-darwin*) rdynamic=""; shared="-dynamiclib"; DLLEXT=".dylib";; + hppa*-hp-hpux*) rdynamic=""; DLLEXT=".sl";; esac +AC_SUBST(shared) +AC_SUBST(rdynamic) AC_SUBST(PIC) -AC_SUBST(RDYNAMIC) AC_SUBST(DLLEXT) AC_SUBST(AUXLIBS) dnl Check for programs. @@ -55,7 +54,7 @@ AC_ARG_ENABLE(shared, [ --disable-shared link the interpreter statically], [case "${enableval}" in - no) LDFLAGS="$LDFLAGS $RDYNAMIC"; sharedlib=no ;; + no) LDFLAGS="$LDFLAGS $rdynamic"; sharedlib=no ;; esac]) AC_SUBST(sharedlib) AC_ARG_ENABLE(warnings, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |