octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gnulib and automake


From: John W. Eaton
Subject: Re: gnulib and automake
Date: Fri, 6 Nov 2009 15:19:21 -0500

On  6-Nov-2009, Benjamin Lindner wrote:

| Hm, the following may be a wrong conclusion, but I find that if libtool
| does not create the shared library (whyever), then the dlname is empty
| (like in the above case).
| 
| But if I manually add "-no-undefined" to CXXLINK in .build/src/makefile
| as
| 
| CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|       --mode=link $(CXXLD) -no-undefined $(AM_CXXFLAGS) $(CXXFLAGS) 
| $(AM_LDFLAGS) \
|       $(LDFLAGS) -o $@
| 
| then I get .dlls for the dld-functions, and then in the .la files I see
| 
| # The name that we can dlopen(3).
| dlname='lib__contourc__-0.dll'

OK, so -no-undefined may also be needed.  I guess the way to add it is
to also make a change like the attached?  There is currently no rule
in the Makefile for running the script that this patch modifies, so
you'll have to run autogen.sh again after making this change.

Thanks,

jwe

diff --git a/src/DLD-FUNCTIONS/config-module.awk 
b/src/DLD-FUNCTIONS/config-module.awk
--- a/src/DLD-FUNCTIONS/config-module.awk
+++ b/src/DLD-FUNCTIONS/config-module.awk
@@ -27,7 +27,8 @@
     sub (/\.cc$/, "", basename);
     printf ("DLD_FUNCTIONS_%s_la_SOURCES = DLD-FUNCTIONS/%s\n",
            basename, files[i]);
-    printf ("DLD_FUNCTIONS_%s_la_LDFLAGS = -module\n", basename);
+    printf ("DLD_FUNCTIONS_%s_la_LDFLAGS = @NO_UNDEFINED_LDFLAG@ -module\n",
+           basename);
     printf ("DLD_FUNCTIONS_%s_la_LIBADD = $(OCT_LINK_DEPS)\n", basename);
   }
 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]