changeset 3143:a2afd94e919f

[MSVC] fix fltk-config script for octave compilation
author Michael Goffioul <michael.goffioul@gmail.com>
date Mon, 15 Jul 2013 21:29:42 -0400
parents 0d23e586d872
children 433d1bb3cafb
files Makefile.in src/fltk.mk src/msvc-fltk-1.patch
diffstat 3 files changed, 78 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.in	Mon Jul 15 21:06:54 2013 -0400
+++ b/Makefile.in	Mon Jul 15 21:29:42 2013 -0400
@@ -174,6 +174,12 @@
     HOST_AND_BUILD_CONFIGURE_OPTIONS := \
 	    CC='$(MXE_CC)' CXX='$(MXE_CXX)' F77='$(MXE_F77)' DLLTOOL='$(MXE_DLLTOOL)' CCAS='$(MXE_CCAS)' \
 	    CFLAGS='-O2' CXXFLAGS='-O2' ac_cv_f77_compiler_gnu=no RANLIB='$(MXE_RANLIB)'
+    # Use native paths for compiler flags. Note: at this point, we can't
+    # rely on the existence of HOST_PREFIX directory, so recompute the
+    # native path from $(PWD) instead.
+    HOST_PREFIX_NATIVE := $(shell cd $(PWD) && pwd -W)/usr/$(TARGET)
+    CONFIGURE_CPPFLAGS := CPPFLAGS='-I$(HOST_PREFIX_NATIVE)/include'
+    CONFIGURE_LDFLAGS := LDFLAGS='-L$(HOST_PREFIX_NATIVE)/lib'
   else
     MXE_AR := ar
     MXE_RANLIB := ranlib
--- a/src/fltk.mk	Mon Jul 15 21:06:54 2013 -0400
+++ b/src/fltk.mk	Mon Jul 15 21:29:42 2013 -0400
@@ -25,6 +25,12 @@
 endef
 
 define $(PKG)_BUILD
+    if [ $(MXE_SYSTEM) = msvc ]; then \
+        for f in '$(1)/configure.in' '$(1)/src/Makefile'; do \
+            $(SED) -i -e 's/@@LIBRARY_PREFIX@@/$(LIBRARY_PREFIX)/g' \
+                      -e 's/@@LIBRARY_SUFFIX@@/$(LIBRARY_SUFFIX)/g' $$f; \
+        done; \
+    fi
     cd '$(1)' && autoconf
 ##    $(SED) -i 's,\$$uname,MINGW,g' '$(1)/configure'
     cd '$(1)' && ./configure \
@@ -39,8 +45,6 @@
     $(SED) -i 's,-fno-exceptions,,' '$(1)/makeinclude'
     $(MAKE) -C '$(1)' -j '$(JOBS)' install \
         DIRS=src \
-        LIBCOMMAND='$(MXE_AR) cr' \
-	LIBRARY_PREFIX='$(LIBRARY_PREFIX)' \
-	LIBRARY_SUFFIX='$(LIBRARY_SUFFIX)'
+        LIBCOMMAND='$(MXE_AR) cr'
     $(LN_SF) '$(HOST_BINDIR)/fltk-config' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)fltk-config'
 endef
--- a/src/msvc-fltk-1.patch	Mon Jul 15 21:06:54 2013 -0400
+++ b/src/msvc-fltk-1.patch	Mon Jul 15 21:29:42 2013 -0400
@@ -1,6 +1,6 @@
 diff -ur fltk-1.3.1-orig/FL/Fl_Device.H fltk-1.3.1/FL/Fl_Device.H
 --- fltk-1.3.1-orig/FL/Fl_Device.H	2012-11-06 15:46:14 -0500
-+++ fltk-1.3.1/FL/Fl_Device.H	2013-06-26 14:44:44 -0400
++++ fltk-1.3.1/FL/Fl_Device.H	2013-07-15 20:06:38 -0400
 @@ -213,7 +213,7 @@
    friend void fl_draw_image(Fl_Draw_Image_Cb cb, void* data, int X,int Y,int W,int H, int D);
    friend FL_EXPORT void fl_draw_image_mono(Fl_Draw_Image_Cb cb, void* data, int X,int Y,int W,int H, int D);
@@ -11,8 +11,8 @@
  
    /** \brief The constructor. */
 diff -ur fltk-1.3.1-orig/configure.in fltk-1.3.1/configure.in
---- fltk-1.3.1-orig/configure.in	2013-06-26 14:44:49 -0400
-+++ fltk-1.3.1/configure.in	2013-06-26 14:46:28 -0400
+--- fltk-1.3.1-orig/configure.in	2013-07-15 20:06:21 -0400
++++ fltk-1.3.1/configure.in	2013-07-15 20:06:38 -0400
 @@ -164,6 +164,31 @@
      fi
  fi
@@ -101,7 +101,7 @@
 -		    CAIRODSONAME="cygfltknox_cairo-$FL_API_VERSION.dll"
 -		fi
 +		    dnl Assume VC++ compiler
-+		    DSONAME="\$(LIBRARY_PREFIX)fltk-$FL_API_VERSION\$(LIBRARY_SUFFIX).dll"
++		    DSONAME="@@LIBRARY_PREFIX@@fltk-$FL_API_VERSION@@LIBRARY_SUFFIX@@.dll"
 +		    FLDSONAME=
 +		    GLDSONAME=
 +		    IMGDSONAME=
@@ -178,7 +178,7 @@
 +	    DSOFLAGS="-mwindows $DSOFLAGS"
 +	    LIBS="$LIBS -lole32 -luuid -lcomctl32"
 +	else
-+	    CFLAGS="-DWIN32 -DUSE_OPENGL32 -DFL_DLL $CFLAGS \$(FLTKFLAGS)"
++	    CFLAGS="-DWIN32 -DUSE_OPENGL32 -DFL_DLL $CFLAGS"
 +	    CXXFLAGS="-DWIN32 -DUSE_OPENGL32 -DFL_DLL $CXXFLAGS"
 +	    LIBS="$LIBS -lole32 -luuid -lcomctl32 -lcomdlg32 -lgdi32"
 +	fi
@@ -198,9 +198,52 @@
  	else
  	    LINKFLTKGL=""
  	    GLLIBNAME=""
+diff -ur fltk-1.3.1-orig/fltk-config.in fltk-1.3.1/fltk-config.in
+--- fltk-1.3.1-orig/fltk-config.in	2013-07-15 20:06:26 -0400
++++ fltk-1.3.1/fltk-config.in	2013-07-15 20:08:17 -0400
+@@ -28,7 +28,7 @@
+ ### BEGIN fltk-config
+ selfdir=`dirname "$0"`
+ 
+-prefix=@prefix@
++prefix=`cd $selfdir && pwd -W | sed -e 's,/bin$,,'`
+ exec_prefix=@exec_prefix@
+ exec_prefix_set=no
+ bindir=@bindir@
+@@ -233,18 +233,18 @@
+ LDSTATIC="$libdir/libfltk.a $LDLIBS"
+ LDLIBS="-lfltk$SHAREDSUFFIX $LDLIBS"
+ 
+-if test x$use_forms = xyes; then
+-    LDLIBS="-lfltk_forms$SHAREDSUFFIX $LDLIBS"
+-    LDSTATIC="$libdir/libfltk_forms.a $LDSTATIC"
+-fi
+-if test x$use_gl = xyes; then
+-    LDLIBS="-lfltk_gl$SHAREDSUFFIX @GLLIB@ $LDLIBS"
+-    LDSTATIC="$libdir/libfltk_gl.a @GLLIB@ $LDSTATIC"
+-fi
+-if test x$use_images = xyes; then
+-    LDLIBS="-lfltk_images$SHAREDSUFFIX $IMAGELIBS $LDLIBS"
+-    LDSTATIC="$libdir/libfltk_images.a $STATICIMAGELIBS $LDSTATIC"
+-fi
++#if test x$use_forms = xyes; then
++#    LDLIBS="-lfltk_forms$SHAREDSUFFIX $LDLIBS"
++#    LDSTATIC="$libdir/libfltk_forms.a $LDSTATIC"
++#fi
++#if test x$use_gl = xyes; then
++#    LDLIBS="-lfltk_gl$SHAREDSUFFIX @GLLIB@ $LDLIBS"
++#    LDSTATIC="$libdir/libfltk_gl.a @GLLIB@ $LDSTATIC"
++#fi
++#if test x$use_images = xyes; then
++#    LDLIBS="-lfltk_images$SHAREDSUFFIX $IMAGELIBS $LDLIBS"
++#    LDSTATIC="$libdir/libfltk_images.a $STATICIMAGELIBS $LDSTATIC"
++#fi
+ 
+ if test x$use_cairo = xyes; then
+     LDLIBS="-lfltk_cairo$SHAREDSUFFIX $CAIROLIBS $LDLIBS"
 diff -ur fltk-1.3.1-orig/fluid/factory.cxx fltk-1.3.1/fluid/factory.cxx
 --- fltk-1.3.1-orig/fluid/factory.cxx	2011-07-19 00:49:30 -0400
-+++ fltk-1.3.1/fluid/factory.cxx	2013-06-26 14:44:44 -0400
++++ fltk-1.3.1/fluid/factory.cxx	2013-07-15 20:06:38 -0400
 @@ -37,7 +37,7 @@
  
  extern Fl_Pixmap *pixmap[];
@@ -210,9 +253,21 @@
  //
  // 'strcasecmp()' - Do a case-insensitive compare...
  //
+diff -ur fltk-1.3.1-orig/makeinclude.in fltk-1.3.1/makeinclude.in
+--- fltk-1.3.1-orig/makeinclude.in	2011-07-19 00:49:30 -0400
++++ fltk-1.3.1/makeinclude.in	2013-07-15 20:06:38 -0400
+@@ -50,7 +50,7 @@
+ # flags for C++ compiler:
+ ARCHFLAGS	= @ARCHFLAGS@
+ OPTIM		= @OPTIM@
+-CFLAGS		= $(OPTIM) @LARGEFILE@ @PTHREAD_FLAGS@ @CPPFLAGS@ @CFLAGS@
++CFLAGS		= $(OPTIM) @LARGEFILE@ @PTHREAD_FLAGS@ @CPPFLAGS@ @CFLAGS@ $(FLTKFLAGS)
+ CXXFLAGS	= $(OPTIM) @LARGEFILE@ @PTHREAD_FLAGS@ @CPPFLAGS@ @CXXFLAGS@ $(FLTKFLAGS)
+ 
+ # program to make the archive:
 diff -ur fltk-1.3.1-orig/src/Makefile fltk-1.3.1/src/Makefile
 --- fltk-1.3.1-orig/src/Makefile	2012-11-06 16:13:54 -0500
-+++ fltk-1.3.1/src/Makefile	2013-06-26 14:44:44 -0400
++++ fltk-1.3.1/src/Makefile	2013-07-15 20:06:38 -0400
 @@ -459,6 +459,13 @@
  		-L. -lfltk -Wl,--exclude-libs -Wl,libfltk_png.a \
  			$(IMAGELIBS) $(LDLIBS)
@@ -220,7 +275,7 @@
 +$(LIBNAME):
 +	true
 +
-+$(LIBRARY_PREFIX)fltk-1.3$(LIBRARY_SUFFIX).dll: $(OBJECTS) $(FLOBJECTS) $(GLOBJECTS) $(IMGOBJECTS)
++@@LIBRARY_PREFIX@@fltk-1.3@@LIBRARY_SUFFIX@@.dll: $(OBJECTS) $(FLOBJECTS) $(GLOBJECTS) $(IMGOBJECTS)
 +	echo $(DSOCOMMAND) ...
 +	$(DSOCOMMAND) $^ -Wl,--out-implib=$(LIBNAME) $(IMAGELIBS) $(LDLIBS) $(GLDLIBS)
 +
@@ -255,7 +310,7 @@
  		$(RM) $(DESTDIR)$(libdir)/libfltk_images.dll.a;\
  		$(INSTALL_LIB) libfltk_images.dll.a $(DESTDIR)$(libdir); \
  	fi
-+	if test x$(DSONAME) = x$(LIBRARY_PREFIX)fltk-1.3$(LIBRARY_SUFFIX).dll; then\
++	if test x$(DSONAME) = x@@LIBRARY_PREFIX@@fltk-1.3@@LIBRARY_SUFFIX@@.dll; then\
 +		$(RM) $(DESTDIR)$(bindir)/$(DSONAME);\
 +		$(INSTALL_LIB) $(DSONAME) $(DESTDIR)$(bindir); \
 +	fi
@@ -264,7 +319,7 @@
  uninstall:
 diff -ur fltk-1.3.1-orig/test/Makefile fltk-1.3.1/test/Makefile
 --- fltk-1.3.1-orig/test/Makefile	2011-07-19 00:49:30 -0400
-+++ fltk-1.3.1/test/Makefile	2013-06-26 14:44:44 -0400
++++ fltk-1.3.1/test/Makefile	2013-07-15 20:06:38 -0400
 @@ -260,7 +260,7 @@
  # FLUID file rules
  .fl.cxx .fl.h:	../fluid/fluid$(EXEEXT)