Fix problems on 64-bit Windows. Avoid warnings, some of which indicated
[platform/upstream/glib.git] / glib / Makefile.am
index b5df50b..81a9656 100644 (file)
@@ -21,7 +21,7 @@ endif
 
 SUBDIRS = libcharset $(PRINTF_SUBDIR) $(MAYBE_PCRE) update-pcre . tests
 
-DIST_SUBDIRS = libcharset gnulib pcre update-pcre
+DIST_SUBDIRS = libcharset gnulib pcre update-pcre tests
 
 AM_CPPFLAGS =                          \
        -I$(top_srcdir)                 \
@@ -81,18 +81,20 @@ BUILT_EXTRA_DIST =          \
 
 lib_LTLIBRARIES = libglib-2.0.la
 
+if OS_WIN32_AND_DLL_COMPILATION
 if MS_LIB_AVAILABLE
 noinst_DATA = glib-2.0.lib
 
-install-ms-lib:
-       $(INSTALL) glib-2.0.lib $(DESTDIR)$(libdir)
+install_ms_lib_cmd = $(INSTALL) glib-2.0.lib $(DESTDIR)$(libdir)
+uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/glib-2.0.lib
+endif
+endif
 
-uninstall-ms-lib:
-       -rm $(DESTDIR)$(libdir)/glib-2.0.lib
-else
 install-ms-lib:
+       $(install_ms_lib_cmd)
+
 uninstall-ms-lib:
-endif
+       $(uninstall_ms_lib_cmd)
 
 libglib_2_0_la_SOURCES =       \
        garray.c                \
@@ -251,10 +253,14 @@ if PLATFORM_WIN32
 no_undefined = -no-undefined
 endif
 
-if OS_WIN32
-# This requires a very new libtool
+if OS_WIN32_AND_DLL_COMPILATION
 export_symbols = -export-symbols glib.def
 
+glib_win32_res = glib-win32-res.o
+glib_win32_res_ldflag = -Wl,$(glib_win32_res)
+
+glib_def = glib.def
+
 install-def-file:
        $(INSTALL) glib.def $(DESTDIR)$(libdir)/glib-2.0.def
 
@@ -267,11 +273,6 @@ uninstall-def-file:
 export_symbols = $(LIBTOOL_EXPORT_OPTIONS)
 endif
 
-if OS_WIN32
-glib_win32_res = glib-win32-res.o
-glib_win32_res_ldflag = -Wl,$(glib_win32_res)
-endif
-
 if ENABLE_REGEX
 if USE_SYSTEM_PCRE
 pcre_lib = $(PCRE_LIBS)
@@ -286,7 +287,7 @@ pcre_inc =
 endif
 
 libglib_2_0_la_LIBADD = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ @ICONV_LIBS@ @G_LIBS_EXTRA@ $(pcre_lib)
-libglib_2_0_la_DEPENDENCIES = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ $(glib_win32_res) @GLIB_DEF@
+libglib_2_0_la_DEPENDENCIES = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ $(glib_win32_res) $(glib_def)
 
 libglib_2_0_la_LDFLAGS = \
         $(glib_win32_res_ldflag) \
@@ -295,17 +296,33 @@ libglib_2_0_la_LDFLAGS = \
 
 INSTALL_PROGS=
 
+gspawn-win32-helper-console.c:
+       echo '#define HELPER_CONSOLE' >$@
+       echo '#include "gspawn-win32-helper.c"' >>$@
+
+gspawn-win64-helper.c:
+       echo '#include "gspawn-win32-helper.c"' >$@
+
+gspawn-win64-helper-console.c:
+       echo '#define HELPER_CONSOLE' >$@
+       echo '#include "gspawn-win32-helper.c"' >>$@
+
 if OS_WIN32
+if OS_WIN32_X64
+INSTALL_PROGS += gspawn-win64-helper gspawn-win64-helper-console
+gspawn_win64_helper_LDADD = libglib-2.0.la
+gspawn_win64_helper_LDFLAGS = -mwindows
+gspawn_win64_helper_console_LDADD = libglib-2.0.la
+else
 INSTALL_PROGS += gspawn-win32-helper gspawn-win32-helper-console
 gspawn_win32_helper_LDADD = libglib-2.0.la
 gspawn_win32_helper_LDFLAGS = -mwindows
 gspawn_win32_helper_console_LDADD = libglib-2.0.la
-gspawn-win32-helper-console.c:
-       echo '#include "gspawn-win32-helper.c"' >$@
+endif
+endif
 
 glib-win32-res.o: glib.rc
        $(WINDRES) glib.rc $@
-endif
 
 bin_PROGRAMS    = ${INSTALL_PROGS}
 
@@ -313,7 +330,7 @@ if OS_UNIX
 
 INSTALL_PROGS  += gtester
 gtester_SOURCES         = gtester.c
-gtester_LDADD   = libglib-2.0.la
+gtester_LDADD   = libglib-2.0.la 
 
 auto_config_binscripts = gtester-report
 bin_SCRIPTS = ${auto_config_binscripts}
@@ -325,15 +342,18 @@ CONFIGVARS = \
 
 install-exec-hook:
        for sf in ${auto_config_binscripts} ; do \
-         sed -i "$(DESTDIR)$(bindir)/$$sf" \
-            -e '1,24s|^ *#@PKGINSTALL_CONFIGVARS_IN24LINES@|  ${CONFIGVARS}|' \
-            -e '1,1s|#!/usr/bin/env python\([0-9]\+\(\.[0-9]\+\)\?\)\?|#!${PYTHON}|' || exit $$? ; \
+         mv -f "$(DESTDIR)$(bindir)/$$sf" "$(DESTDIR)$(bindir)/$$sf".tmp \
+         && sed < "$(DESTDIR)$(bindir)/$$sf".tmp > "$(DESTDIR)$(bindir)/$$sf" \
+           -e '1,24s|^ *#@PKGINSTALL_CONFIGVARS_IN24LINES@|  ${CONFIGVARS}|' \
+           -e '1,1s|#!/usr/bin/env python\([0-9]\+\(\.[0-9]\+\)\?\)\?|#!${PYTHON}|' \
+         || exit $$? ; \
+         rm -f "$(DESTDIR)$(bindir)/$$sf".tmp ; \
        done
 
 endif
 
 glib-2.0.lib: libglib-2.0.la glib.def
-       lib -name:libglib-2.0-$(LT_CURRENT_MINUS_AGE).dll -def:glib.def -out:$@
+       lib -machine:@LIB_EXE_MACHINE_FLAG@ -name:libglib-2.0-$(LT_CURRENT_MINUS_AGE).dll -def:glib.def -out:$@
 
 dist-hook: $(BUILT_EXTRA_DIST)
        files='$(BUILT_EXTRA_DIST)'; \