diff options
| -rw-r--r-- | configure.in | 12 | ||||
| -rw-r--r-- | src/Makefile | 14 |
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) \ |
