summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael R Sweet <michael.r.sweet@gmail.com>2007-02-08 21:22:32 +0000
committerMichael R Sweet <michael.r.sweet@gmail.com>2007-02-08 21:22:32 +0000
commit057e542c395a8cc5391ee57a215c2c644a2fbd0b (patch)
treeac3147da4450e07b4c081f334f09d6b1c1209968
parent1b7589dacef37de05ffae181f802d60bff3e9afe (diff)
More Cygwin DLL fixes (STR #1585)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5682 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
-rw-r--r--configure.in12
-rw-r--r--src/Makefile14
2 files changed, 20 insertions, 6 deletions
diff --git a/configure.in b/configure.in
index de77c1fd7..56e89d9df 100644
--- a/configure.in
+++ b/configure.in
@@ -80,6 +80,7 @@ case $uname in
CPPFLAGS="$CPPFLAGS -mno-cygwin"
CXXFLAGS="$CXXFLAGS -mno-cygwin"
LDFLAGS="$LDFLAGS -mno-cygwin"
+ DSOFLAGS="$DSOFLAGS -mno-cygwin"
fi
;;
esac
@@ -204,7 +205,14 @@ if test x$enable_shared = xyes; then
GLDSONAME="cygfltknox_gl-$FL_API_VERSION.dll"
IMGDSONAME="cygfltknox_images-$FL_API_VERSION.dll"
fi
- DSOCOMMAND="\$(CXX) \$(DSOFLAGS) -shared -Wl,--whole-archive -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--enable-auto-image-base -o \$@"
+ #-----------------------------------------------------------
+ # -Wl,--enable-runtime-pseudo-reloc: See str 1585
+ # appears to be necessary for older binutils versions < 2.16
+ #-----------------------------------------------------------
+ DSOCOMMAND="\$(CXX) \$(DSOFLAGS) -shared \
+ -Wl,--whole-archive -Wl,--export-all-symbols \
+ -Wl,--enable-runtime-pseudo-reloc -Wl,--enable-auto-import \
+ -Wl,--enable-auto-image-base -o \$@"
;;
*)
AC_MSG_WARN(Shared libraries may not be supported. Trying -shared option with compiler.)
@@ -599,8 +607,8 @@ case $uname in
CFLAGS="-mwindows -DWIN32 $CFLAGS"
CXXFLAGS="-mwindows -DWIN32 $CXXFLAGS"
LDFLAGS="-mwindows $LDFLAGS"
+ DSOFLAGS="-mwindows $DSOFLAGS"
LIBS="$LIBS -lole32 -luuid -lcomctl32 -lwsock32"
- DSOFLAGS="-mwindows"
OPTIM="$OPTIM"
if test x$enable_gl != xno; then
diff --git a/src/Makefile b/src/Makefile
index a828e5d3a..f5d8a7477 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -372,10 +372,11 @@ cygfltknox_gl-1.1.dll: $(GLLIBNAME) cygfltknox-1.1.dll
-L. -lfltk $(GLDLIBS)
cygfltknox_images-1.1.dll: $(IMGLIBNAME) cygfltknox-1.1.dll
- echo $(DSOCOMMAND) ../lib/libfltk_images ...
+ echo $(DSOCOMMAND) $(IMGLIBNAME) ...
$(DSOCOMMAND) $(IMGLIBNAME) -Wl,--no-whole-archive \
-Wl,--out-implib=libfltk_images.dll.a \
- -L. -lfltk -ljpeg -lpng -lz $(LDLIBS)
+ -L. -lfltk -Wl,--exclude-libs -Wl,libfltk_png.a \
+ $(IMAGELIBS) $(LDLIBS)
mgwfltknox-1.1.dll: $(LIBNAME)
echo $(DSOCOMMAND) $(LIBNAME) ...
@@ -394,14 +395,19 @@ mgwfltknox_gl-1.1.dll: $(GLLIBNAME) mgwfltknox-1.1.dll
-Wl,--out-implib=libfltk_gl.dll.a \
-L. -lfltk $(GLDLIBS)
+#-----------------------------------------------------
+# See STR #1585 for --exclude-libs
+#-----------------------------------------------------
+
mgwfltknox_images-1.1.dll: $(IMGLIBNAME) mgwfltknox-1.1.dll
echo $(DSOCOMMAND) $(IMGLIBNAME) ...
$(DSOCOMMAND) $(IMGLIBNAME) -Wl,--no-whole-archive \
-Wl,--out-implib=libfltk_images.dll.a \
- -L. -lfltk -ljpeg -lpng -lz $(LDLIBS)
+ -L. -lfltk -Wl,--exclude-libs -Wl,libfltk_png.a \
+ $(IMAGELIBS) $(LDLIBS)
clean:
- -$(RM) *.o core.* *~ *.bck *.bck
+ -$(RM) *.o *.dll.a core.* *~ *.bck *.bck
-$(RM) $(DSONAME) $(FLDSONAME) $(GLDSONAME) $(IMGDSONAME) \
../lib/$(LIBNAME) ../lib/$(FLLIBNAME) ../lib/$(GLLIBNAME) \
../lib/$(IMGLIBNAME) \