From 0c888cbfb89800535b26bfb4adf3f408971694f5 Mon Sep 17 00:00:00 2001 From: stevenj Date: Tue, 29 Jul 2008 13:36:17 -0400 Subject: [PATCH] allow cxx library to be installed simultaneously with non-cxx darcs-hash:20080729173617-c8de0-e9479d60f1f9cd9da68867e219449884c77768f7.gz --- Makefile.am | 14 +++++++------- configure.ac | 7 ++++++- octave/Makefile.am | 4 ++-- octave/NLOPT_GD_STOGO.m | 2 +- octave/NLOPT_GD_STOGO_RAND.m | 2 +- octave/mkconstants.sh | 2 +- test/Makefile.am | 2 +- 7 files changed, 19 insertions(+), 14 deletions(-) diff --git a/Makefile.am b/Makefile.am index 3570f88..4bfe815 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,5 +1,5 @@ OPTIONS_AUTOMAKE=gnu -lib_LTLIBRARIES = libnlopt.la +lib_LTLIBRARIES = libnlopt@NLOPT_SUFFIX@.la ACLOCAL_AMFLAGS=-I ./m4 @@ -15,13 +15,13 @@ if WITH_NOCEDAL NOCEDAL_LBFGS=lbfgs/liblbfgs.la endif -libnlopt_la_SOURCES = -libnlopt_la_LIBADD = subplex/libsubplex.la direct/libdirect.la \ -cdirect/libcdirect.la $(CXX_LIBS) praxis/libpraxis.la $(NOCEDAL_LBFGS) \ -luksan/libluksan.la crs/libcrs.la mlsl/libmlsl.la mma/libmma.la \ -api/libapi.la util/libutil.la +libnlopt@NLOPT_SUFFIX@_la_SOURCES = +libnlopt@NLOPT_SUFFIX@_la_LIBADD = subplex/libsubplex.la \ +direct/libdirect.la cdirect/libcdirect.la $(CXX_LIBS) \ +praxis/libpraxis.la $(NOCEDAL_LBFGS) luksan/libluksan.la crs/libcrs.la \ +mlsl/libmlsl.la mma/libmma.la api/libapi.la util/libutil.la -libnlopt_la_LDFLAGS = -no-undefined -version-info @SHARED_VERSION_INFO@ +libnlopt@NLOPT_SUFFIX@_la_LDFLAGS = -no-undefined -version-info @SHARED_VERSION_INFO@ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = nlopt.pc diff --git a/configure.ac b/configure.ac index 4f98d81..a803084 100644 --- a/configure.ac +++ b/configure.ac @@ -18,6 +18,7 @@ AC_PROG_MAKE_SET AC_LIBTOOL_WIN32_DLL AC_PROG_LIBTOOL +NLOPT_SUFFIX="" AC_ARG_WITH(cxx, [AC_HELP_STRING([--with-cxx], [include C++-based routines])], with_cxx=$withval,with_cxx=no) @@ -25,7 +26,9 @@ AM_CONDITIONAL(WITH_CXX, test "x$with_cxx" = xyes) if test "x$with_cxx" = xyes; then AC_PROG_CXX AC_DEFINE([WITH_CXX], 1, [Define if compiled including C++-based routines]) + NLOPT_SUFFIX="_cxx" fi +AC_SUBST(NLOPT_SUFFIX) dnl Checks for typedefs, structures, and compiler characteristics. AC_HEADER_STDC @@ -64,7 +67,9 @@ AC_MSG_RESULT(${ok}) dnl ----------------------------------------------------------------------- -test -r $srcdir/lbfgs/ap.cpp && test -r $srcdir/lbfgs/ap.h && test -r $srcdir/lbfgs/l-bfgs-b.cpp && test -r $srcdir/lbfgs/l-bfgs-b.h && have_lbfgs=yes +if test "x$with_cxx" = xyes; then + test -r $srcdir/lbfgs/ap.cpp && test -r $srcdir/lbfgs/ap.h && test -r $srcdir/lbfgs/l-bfgs-b.cpp && test -r $srcdir/lbfgs/l-bfgs-b.h && have_lbfgs=yes +fi AM_CONDITIONAL(WITH_NOCEDAL, test -n "$have_lbfgs") if test -n "$have_lbfgs"; then AC_DEFINE(WITH_NOCEDAL, [1], [Define if we have the non-free Nocedal LBFGS code]) diff --git a/octave/Makefile.am b/octave/Makefile.am index 0de0af2..cb11f15 100644 --- a/octave/Makefile.am +++ b/octave/Makefile.am @@ -11,7 +11,7 @@ m_DATA = $(MFILES) nlopt_minimize.m endif nlopt_minimize.oct: nlopt_minimize-oct.cc nlopt_minimize_usage.h - $(MKOCTFILE) -o $@ $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(srcdir)/nlopt_minimize-oct.cc $(LDFLAGS) -L$(top_builddir)/.libs -lnlopt + $(MKOCTFILE) -o $@ $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(srcdir)/nlopt_minimize-oct.cc $(LDFLAGS) -L$(top_builddir)/.libs -lnlopt@NLOPT_SUFFIX@ nlopt_minimize_usage.h: $(srcdir)/nlopt_minimize.m echo "#define NLOPT_MINIMIZE_USAGE \\" > $@ @@ -25,7 +25,7 @@ mex_DATA = nlopt_minimize.$(MEXSUFF) $(MFILES) nlopt_minimize.m endif nlopt_minimize.$(MEXSUFF): nlopt_minimize-mex.c - $(MEX) -output nlopt_minimize -O $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(srcdir)/nlopt_minimize-mex.c $(LDFLAGS) -L$(top_builddir)/.libs -lnlopt + $(MEX) -output nlopt_minimize -O $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(srcdir)/nlopt_minimize-mex.c $(LDFLAGS) -L$(top_builddir)/.libs -lnlopt@NLOPT_SUFFIX@ ####################################################################### diff --git a/octave/NLOPT_GD_STOGO.m b/octave/NLOPT_GD_STOGO.m index e648885..67575c0 100644 --- a/octave/NLOPT_GD_STOGO.m +++ b/octave/NLOPT_GD_STOGO.m @@ -1,4 +1,4 @@ -% NLOPT_GD_STOGO: StoGO (NOT COMPILED) +% NLOPT_GD_STOGO: StoGO (global, derivative-based) % % See nlopt_minimize for more information. function val = NLOPT_GD_STOGO diff --git a/octave/NLOPT_GD_STOGO_RAND.m b/octave/NLOPT_GD_STOGO_RAND.m index c9546c9..decd945 100644 --- a/octave/NLOPT_GD_STOGO_RAND.m +++ b/octave/NLOPT_GD_STOGO_RAND.m @@ -1,4 +1,4 @@ -% NLOPT_GD_STOGO_RAND: StoGO randomized (NOT COMPILED) +% NLOPT_GD_STOGO_RAND: StoGO with randomized search (global, derivative-based) % % See nlopt_minimize for more information. function val = NLOPT_GD_STOGO_RAND diff --git a/octave/mkconstants.sh b/octave/mkconstants.sh index 47aef44..aec541a 100755 --- a/octave/mkconstants.sh +++ b/octave/mkconstants.sh @@ -3,7 +3,7 @@ names=`egrep NLOPT_[LG][ND] ../api/nlopt.h |sed 's/ //g' |tr = , |cut -d, -f1` i=0 -gcc -E ../api/nlopt.c | perl -pe 's/^ *\n//' > foo.c +gcc -I.. -E ../api/nlopt.c | perl -pe 's/^ *\n//' > foo.c desc_start=`grep -n nlopt_algorithm_names foo.c |cut -d: -f1 |head -1` for n in $names; do diff --git a/test/Makefile.am b/test/Makefile.am index 0851054..dd2476b 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -3,4 +3,4 @@ AM_CPPFLAGS = -I$(top_srcdir)/api -I$(top_srcdir)/util noinst_PROGRAMS = testopt testopt_SOURCES = testfuncs.c testfuncs.h testopt.cpp -testopt_LDADD = $(top_builddir)/libnlopt.la +testopt_LDADD = $(top_builddir)/libnlopt@NLOPT_SUFFIX@.la -- 2.30.2