[geany/geany] 14f146: Merge pull request #377 from b4n/autotools-mingw-cross

Colomban Wendling git-noreply at xxxxx
Tue Jan 20 15:09:49 UTC 2015


Branch:      refs/heads/master
Author:      Colomban Wendling <ban at herbesfolles.org>
Committer:   Colomban Wendling <ban at herbesfolles.org>
Date:        Tue, 20 Jan 2015 15:09:49 UTC
Commit:      14f1468f7889b6ebc61f32dfa3e3111fc69fdc15
             https://github.com/geany/geany/commit/14f1468f7889b6ebc61f32dfa3e3111fc69fdc15

Log Message:
-----------
Merge pull request #377 from b4n/autotools-mingw-cross

Autotools: Fix MinGW cross-compilation


Modified Paths:
--------------
    geany_private.rc
    plugins/Makefile.am
    src/Makefile.am

Modified: geany_private.rc
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -5,7 +5,7 @@
 #define VER_FILEVERSION_STR         "1.25"
 #define APP_MANIFEST                1
 
-A ICON MOVEABLE PURE LOADONCALL DISCARDABLE "../icons/geany.ico"
+A ICON MOVEABLE PURE LOADONCALL DISCARDABLE "icons/geany.ico"
 
 VS_VERSION_INFO		VERSIONINFO
 FILEVERSION			VER_FILEVERSION


Modified: plugins/Makefile.am
72 lines changed, 26 insertions(+), 46 deletions(-)
===================================================================
@@ -18,50 +18,16 @@ geanyfunctions.h: genapi.py ../src/plugins.c
 all: geanyfunctions.h
 
 
-demoplugin_la_LDFLAGS    = -module -avoid-version
-classbuilder_la_LDFLAGS  = -module -avoid-version
-htmlchars_la_LDFLAGS     = -module -avoid-version
-export_la_LDFLAGS        = -module -avoid-version
-saveactions_la_LDFLAGS   = -module -avoid-version
-filebrowser_la_LDFLAGS   = -module -avoid-version
-splitwindow_la_LDFLAGS   = -module -avoid-version
+demoplugin_la_LDFLAGS    = -module -avoid-version -no-undefined
+classbuilder_la_LDFLAGS  = -module -avoid-version -no-undefined
+htmlchars_la_LDFLAGS     = -module -avoid-version -no-undefined
+export_la_LDFLAGS        = -module -avoid-version -no-undefined
+saveactions_la_LDFLAGS   = -module -avoid-version -no-undefined
+filebrowser_la_LDFLAGS   = -module -avoid-version -no-undefined
+splitwindow_la_LDFLAGS   = -module -avoid-version -no-undefined
 
 if PLUGINS
 
-if MINGW
-# build Geany for Windows on non-Windows systems (cross-compile)
-# (this is a little hack'ish and surely can be improved)
-DLL_LD_FLAGS = -module -avoid-version
-MINGW_CFLAGS = \
-			-DGEANY_DATADIR=\"data\" \
-			-DHAVE_CONFIG_H \
-			-DGTK \
-			-I$(top_srcdir) \
-			-I$(top_srcdir)/src \
-			-I$(top_srcdir)/tagmanager/src \
-			-I$(top_srcdir)/scintilla/include \
-			$(GTK_CFLAGS) \
-			$(PLUGIN_CFLAGS)
-
-.PHONY: all clean
-
-all-local: \
-	classbuilder.dll \
-	htmlchars.dll \
-	export.dll \
-	saveactions.dll \
-	splitwindow.dll \
-	filebrowser.dll
-
-.c.dll:
-	$(CC) $(MINGW_CFLAGS) -o $@.o -c $<
-	$(CC) -shared $@.o $(GTK_LIBS) $(DLL_LD_FLAGS) -o $@
-
-clean:
-	rm -f *.o *.dll
-
-else
-
 # Plugins to be installed
 plugin_LTLIBRARIES = \
 	classbuilder.la \
@@ -99,11 +65,16 @@ saveactions_la_LIBADD   = $(GTK_LIBS)
 filebrowser_la_LIBADD   = $(GTK_LIBS)
 splitwindow_la_LIBADD   = $(GTK_LIBS)
 
-endif # MINGW
 endif # PLUGINS
 
-AM_CPPFLAGS = \
-	-DDATADIR=\"$(datadir)\" \
+if MINGW
+# FIXME: why is this define different than the non-MINGW one?
+AM_CPPFLAGS = -DGEANY_DATADIR=\"data\"
+else
+AM_CPPFLAGS = -DDATADIR=\"$(datadir)\"
+endif
+
+AM_CPPFLAGS += \
 	-DGTK \
 	-I$(top_srcdir)/src \
 	-I$(top_srcdir)/tagmanager/src \
@@ -115,10 +86,19 @@ AM_CPPFLAGS = \
 # This part allows people to build their own plugins in here.
 # Yes, it's a mess.
 #
+custom_plugins_cppflags = -DHAVE_CONFIG_H -I$(top_srcdir)
+custom_plugins_ldflags = -module -avoid-version
+if MINGW
+SUFFIXES = .c .dll
+.c.dll:
+	$(CC) $(AM_CPPFLAGS) $(custom_plugins_cppflags) $(CPPFLAGS) $(CFLAGS) -o $@.o -c $<
+	$(CC) -shared $@.o $(GTK_LIBS) $(custom_plugins_ldflags) $(LIBS) $(PLUGIN_LIBS) $(LDFLAGS) -o $@
+else
 SUFFIXES = .c .so
 .c.so:
-	$(LIBTOOL) --mode=compile $(CC) -DHAVE_CONFIG_H -I$(top_srcdir) $(AM_CPPFLAGS) $(CFLAGS) -c $< -o tmp$@.lo $(PLUGIN_CFLAGS)
-	$(LIBTOOL) --mode=link    $(CC) $(CFLAGS) -o libtmp$@.la -rpath $(plugindir) tmp$@.lo $(LIBS) $(LDFLAGS) -module -avoid-version $(PLUGIN_LIBS)
+	$(LIBTOOL) --mode=compile $(CC) $(AM_CPPFLAGS) $(custom_plugins_cppflags) $(CPPFLAGS) $(CFLAGS) -c $< -o tmp$@.lo
+	$(LIBTOOL) --mode=link    $(CC) $(CFLAGS) -o libtmp$@.la -rpath $(plugindir) tmp$@.lo $(LIBS) $(LDFLAGS) $(custom_plugins_ldflags) $(PLUGIN_LIBS)
 	@rm -f tmp$@.lo tmp$@.o libtmp$@.la
 	@cp .libs/libtmp$@.so* $@
 	@rm -f .libs/libtmp$@.*
+endif


Modified: src/Makefile.am
4 lines changed, 2 insertions(+), 2 deletions(-)
===================================================================
@@ -124,8 +124,8 @@ geany_LDFLAGS =	-mwindows -mms-bitfields
 
 WINDRES = $(host_alias)-windres
 
-geany_private.res:
-	$(WINDRES) -i ../geany_private.rc --input-format=rc -o geany_private.res -O coff;
+geany_private.res: $(top_srcdir)/geany_private.rc
+	$(WINDRES) -i $(top_srcdir)/geany_private.rc --input-format=rc -o $@ -O coff
 
 clean-local:
 	rm -f geany_private.res



--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).


More information about the Commits mailing list