diff options
| author | Michael R Sweet <michael.r.sweet@gmail.com> | 2007-02-08 21:22:32 +0000 |
|---|---|---|
| committer | Michael R Sweet <michael.r.sweet@gmail.com> | 2007-02-08 21:22:32 +0000 |
| commit | 057e542c395a8cc5391ee57a215c2c644a2fbd0b (patch) | |
| tree | ac3147da4450e07b4c081f334f09d6b1c1209968 | |
| parent | 1b7589dacef37de05ffae181f802d60bff3e9afe (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.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) \ |
