[pure-lang-svn] SF.net SVN: pure-lang: [171] pure/trunk
Status: Beta
Brought to you by:
agraef
From: <ag...@us...> - 2008-06-04 09:05:22
|
Revision: 171 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=171&view=rev Author: agraef Date: 2008-06-04 02:05:30 -0700 (Wed, 04 Jun 2008) Log Message: ----------- Add option to link interpreter statically. Modified Paths: -------------- pure/trunk/Makefile.in pure/trunk/configure pure/trunk/configure.ac Modified: pure/trunk/Makefile.in =================================================================== --- pure/trunk/Makefile.in 2008-06-04 08:10:24 UTC (rev 170) +++ pure/trunk/Makefile.in 2008-06-04 09:05:30 UTC (rev 171) @@ -73,6 +73,12 @@ libpurelnk = lib$(libpure_base)$(DLL) LIBPURE = -l$(libpure_vers) +# Whether to build the Pure library. If this is set to anything but "yes", the +# interpreter will be linked statically. This is necessary on some systems +# where LLVM cannot be linked in dynamically. + +SHARED = @SHARED@ + # No need to edit below this line. Unless you really have to. :) ############ SOURCE = expr.cc expr.hh funcall.h interpreter.cc interpreter.hh lexer.ll \ @@ -93,8 +99,13 @@ all: pure$(EXE) +ifeq ($(SHARED), yes) pure$(EXE): pure.o $(libpure) $(CXX) -o $@ $(LDFLAGS) pure.o -L. $(LIBPURE) $(LIBS) +else +pure$(EXE): pure.o $(OBJECT) + $(CXX) -o $@ $(LDFLAGS) pure.o $(OBJECT) $(LLVM_LIBS) $(LIBS) +endif $(libpure): $(OBJECT) $(CXX) -shared -o $@ $(LDFLAGS) $(OBJECT) $(LLVM_LIBS) $(LIBS) @@ -151,8 +162,10 @@ install: pure$(EXE) install -d $(DESTDIR)$(bindir) $(DESTDIR)$(libdir)/pure $(DESTDIR)$(man1dir) install pure$(EXE) $(DESTDIR)$(bindir)/pure$(EXE) +ifeq ($(SHARED), yes) install $(libpure) $(DESTDIR)$(libdir)/$(libpure) ln -sf $(libdir)/$(libpure) $(DESTDIR)$(libdir)/$(libpurelnk) +endif install -m 644 $(srcdir)/lib/*.pure $(DESTDIR)$(libdir)/pure install -m 644 pure.1 $(DESTDIR)$(man1dir)/pure.1 Modified: pure/trunk/configure =================================================================== --- pure/trunk/configure 2008-06-04 08:10:24 UTC (rev 170) +++ pure/trunk/configure 2008-06-04 09:05:30 UTC (rev 171) @@ -620,6 +620,7 @@ ac_ct_CXX EXEEXT OBJEXT +SHARED CC CFLAGS ac_ct_CC @@ -1211,6 +1212,7 @@ --enable-release enable the release build --enable-debug enable the debug build --enable-debug2 enable the maintenance build + --disable-shared link the interpreter statically Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -2288,6 +2290,15 @@ esac fi +SHARED=yes +# Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; case "${enableval}" in + no) LDFLAGS=-rdynamic; SHARED=no ;; + esac +fi + + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -4181,6 +4192,7 @@ ac_ct_CXX!$ac_ct_CXX$ac_delim EXEEXT!$EXEEXT$ac_delim OBJEXT!$OBJEXT$ac_delim +SHARED!$SHARED$ac_delim CC!$CC$ac_delim CFLAGS!$CFLAGS$ac_delim ac_ct_CC!$ac_ct_CC$ac_delim @@ -4189,7 +4201,7 @@ LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 50; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 51; 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-04 08:10:24 UTC (rev 170) +++ pure/trunk/configure.ac 2008-06-04 09:05:30 UTC (rev 171) @@ -17,6 +17,13 @@ [case "${enableval}" in yes) CPPFLAGS="-DDEBUG=2"; CXXFLAGS="-g" ;; esac]) +SHARED=yes +AC_ARG_ENABLE(shared, + [ --disable-shared link the interpreter statically], + [case "${enableval}" in + no) LDFLAGS=-rdynamic; SHARED=no ;; + esac]) +AC_SUBST(SHARED) AC_CHECK_LIB(gmp, __gmpz_init) AC_CHECK_LIB(readline, readline) dnl On some systems these are in separate libraries. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |