[gtkmm] Do not recurse into MSVC or NSI subdirectories



commit c3f48eb9c2b68db2778f70eb12f085e3f57e33f8
Author: Daniel Elstner <danielk openismus com>
Date:   Wed Aug 12 16:03:39 2009 +0200

    Do not recurse into MSVC or NSI subdirectories
    
    * configure.ac (AC_CONFIG_FILES): Remove the output files
    MSVC_Net200[58]/**/Makefile and win32_installer/**/Makefile.
    (AC_CONFIG_COMMANDS): Append custom commands to config.status to
    copy the generated header files into the MSVC subdirectories.  Do
    the same for COPYING, which is copied to win32_installer/lgpl.txt.
    * MSVC_Net200[58]/filelist.am: New Automake include files.
    * win32_installer/filelist.am: New Automake include file.
    * Makefile.am: Include the file lists MSVC_Net200[58]/filelist.am
    and win32_installer/filelist.am.
    (SUBDIRS): Do not recurse into MSVC_Net200[58]/ or win32_installer/
    subdirectories.
    (dist_noinst_DATA): Distribute the MSVC and Windows installer data
    files from here.
    (DISTCLEANFILES): Delete file copies from subdirectories.
    * MSVC_Net200[58]/**/Makefile.am: Delete now unused build files.
    * win32_installer/**/Makefile.am: ditto.
    * win32_installer/gtkmm-installer.nsi.in (PRODUCT_API_VERSION):
    Substitute @GTKMM_API_VERSION@ and remove the TODO comment.
    (PRODUCT_VERSION): Substitute @PACKAGE_VERSION  
    * win32_installer/install-msvc-module: Fix the incorrectly applied
    shell quoting throughout the file.  Replace cascade of 'if test'
    and 'elif test' constructs with a straightforward 'case ... in'.

 ChangeLog                                |   27 +++++++++++
 MSVC_Net2005/Makefile.am                 |    3 -
 MSVC_Net2005/atkmm/Makefile.am           |    3 -
 MSVC_Net2005/demos/Makefile.am           |    1 -
 MSVC_Net2005/demos/gtk-demo/Makefile.am  |    1 -
 MSVC_Net2005/filelist.am                 |   17 +++++++
 MSVC_Net2005/gdkmm/Makefile.am           |   13 -----
 MSVC_Net2005/gendef/Makefile.am          |    2 -
 MSVC_Net2005/gtkmm/Makefile.am           |   13 -----
 MSVC_Net2008/Makefile.am                 |    3 -
 MSVC_Net2008/atkmm/Makefile.am           |    3 -
 MSVC_Net2008/demos/Makefile.am           |    1 -
 MSVC_Net2008/demos/gtk-demo/Makefile.am  |    1 -
 MSVC_Net2008/filelist.am                 |   17 +++++++
 MSVC_Net2008/gdkmm/Makefile.am           |   13 -----
 MSVC_Net2008/gendef/Makefile.am          |    2 -
 MSVC_Net2008/gtkmm/Makefile.am           |   13 -----
 Makefile.am                              |   16 +++++-
 configure.ac                             |   44 ++++++++----------
 win32_installer/Makefile.am              |   16 -------
 win32_installer/NSISLibrary/Makefile.am  |   11 -----
 win32_installer/filelist.am              |   28 ++++++++++++
 win32_installer/gtkmm-installer.nsi.in   |    5 +-
 win32_installer/install-msvc-module      |   72 ++++++++++++++++++------------
 win32_installer/translations/Makefile.am |    1 -
 25 files changed, 167 insertions(+), 159 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index d04a445..f4bc688 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,32 @@
 2009-08-12  Daniel Elstner  <danielk openismus com>
 
+	Do not recurse into MSVC or NSI subdirectories
+
+	* configure.ac (AC_CONFIG_FILES): Remove the output files
+	MSVC_Net200[58]/**/Makefile and win32_installer/**/Makefile.
+	(AC_CONFIG_COMMANDS): Append custom commands to config.status to
+	copy the generated header files into the MSVC subdirectories.  Do
+	the same for COPYING, which is copied to win32_installer/lgpl.txt.
+	* MSVC_Net200[58]/filelist.am: New Automake include files.
+	* win32_installer/filelist.am: New Automake include file.
+	* Makefile.am: Include the file lists MSVC_Net200[58]/filelist.am
+	and win32_installer/filelist.am.
+	(SUBDIRS): Do not recurse into MSVC_Net200[58]/ or win32_installer/
+	subdirectories.
+	(dist_noinst_DATA): Distribute the MSVC and Windows installer data
+	files from here.
+	(DISTCLEANFILES): Delete file copies from subdirectories.
+	* MSVC_Net200[58]/**/Makefile.am: Delete now unused build files.
+	* win32_installer/**/Makefile.am: ditto.
+	* win32_installer/gtkmm-installer.nsi.in (PRODUCT_API_VERSION):
+	Substitute @GTKMM_API_VERSION@ and remove the TODO comment.
+	(PRODUCT_VERSION): Substitute @PACKAGE_VERSION  
+	* win32_installer/install-msvc-module: Fix the incorrectly applied
+	shell quoting throughout the file.  Replace cascade of 'if test'
+	and 'elif test' constructs with a straightforward 'case ... in'.
+
+2009-08-12  Daniel Elstner  <danielk openismus com>
+
 	Skip over intermediate subdir in recursion
 
 	* configure.ac (AC_CONFIG_FILES): Remove {atk,gdk,gtk}/Makefile.
diff --git a/MSVC_Net2005/filelist.am b/MSVC_Net2005/filelist.am
new file mode 100644
index 0000000..bde4e64
--- /dev/null
+++ b/MSVC_Net2005/filelist.am
@@ -0,0 +1,17 @@
+## This file is part of gtkmm.
+
+msvc_net2005_data =				\
+	README					\
+	blank.cpp				\
+	gtkmm.sln				\
+	gendef/gendef.vcproj			\
+	gendef/gendef.cc			\
+	atkmm/atkmm.rc				\
+	atkmm/atkmm.vcproj			\
+	gdkmm/gdkmm.rc				\
+	gdkmm/gdkmm.vcproj			\
+	gdkmm/gdkmmconfig.h			\
+	gtkmm/gtkmm.rc				\
+	gtkmm/gtkmm.vcproj			\
+	gtkmm/gtkmmconfig.h			\
+	demos/gtk-demo/gtk-demo.vcproj
diff --git a/MSVC_Net2008/filelist.am b/MSVC_Net2008/filelist.am
new file mode 100644
index 0000000..7d930e0
--- /dev/null
+++ b/MSVC_Net2008/filelist.am
@@ -0,0 +1,17 @@
+## This file is part of gtkmm.
+
+msvc_net2008_data =				\
+	README					\
+	blank.cpp				\
+	gtkmm.sln				\
+	gendef/gendef.vcproj			\
+	gendef/gendef.cc			\
+	atkmm/atkmm.rc				\
+	atkmm/atkmm.vcproj			\
+	gdkmm/gdkmm.rc				\
+	gdkmm/gdkmm.vcproj			\
+	gdkmm/gdkmmconfig.h			\
+	gtkmm/gtkmm.rc				\
+	gtkmm/gtkmm.vcproj			\
+	gtkmm/gtkmmconfig.h			\
+	demos/gtk-demo/gtk-demo.vcproj
diff --git a/Makefile.am b/Makefile.am
index 5967c99..a30efff 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -32,8 +32,7 @@ src_subdirs = tools $(atk_maint_subdir) gdk/src gtk/src
 else
 src_subdirs =
 endif
-SUBDIRS = $(src_subdirs) $(atk_built_subdir) gdk/gdkmm gtk/gtkmm \
-	  tests MSVC_Net2005 MSVC_Net2008 win32_installer
+SUBDIRS = $(src_subdirs) $(atk_built_subdir) gdk/gdkmm gtk/gtkmm tests
 DIST_SUBDIRS = $(SUBDIRS) demos docs scripts
 
 if GTKMM_ATKMM_ENABLED
@@ -54,5 +53,16 @@ nodist_gtkmm_libinclude_HEADERS = gtk/gtkmmconfig.h
 pkgconfigdir = $(libdir)/pkgconfig
 nodist_pkgconfig_DATA = $(atk_atkmm_pcfile) gdk/$(GDKMM_MODULE_NAME).pc gtk/$(GTKMM_MODULE_NAME).pc
 
+include $(srcdir)/MSVC_Net2005/filelist.am
+include $(srcdir)/MSVC_Net2008/filelist.am
+include $(srcdir)/win32_installer/filelist.am
+
+text_files = CHANGES COPYING.tools PORTING README.SUN README.win32
+msvc_files = $(addprefix MSVC_Net2005/,$(msvc_net2005_data)) \
+             $(addprefix MSVC_Net2008/,$(msvc_net2008_data))
+winstall_files = $(addprefix win32_installer/,$(windows_installer_files))
+
+dist_noinst_DATA = $(text_files) $(msvc_files) $(winstall_files)
 dist_noinst_SCRIPTS = autogen.sh
-dist_noinst_DATA = CHANGES COPYING.tools PORTING README.SUN README.win32
+
+DISTCLEANFILES = $(filter %mmconfig.h,$(msvc_files)) win32_installer/lgpl.txt
diff --git a/configure.ac b/configure.ac
index 086b69c..2081209 100644
--- a/configure.ac
+++ b/configure.ac
@@ -172,32 +172,26 @@ AC_CONFIG_FILES([
 ])
 
 AC_CONFIG_FILES([
-  MSVC_Net2005/Makefile
-    MSVC_Net2005/gendef/Makefile
-    MSVC_Net2005/atkmm/Makefile
-    MSVC_Net2005/atkmm/atkmm.rc
-    MSVC_Net2005/gdkmm/Makefile
-    MSVC_Net2005/gdkmm/gdkmm.rc
-    MSVC_Net2005/gtkmm/Makefile
-    MSVC_Net2005/gtkmm/gtkmm.rc
-    MSVC_Net2005/demos/Makefile
-      MSVC_Net2005/demos/gtk-demo/Makefile
-
-  MSVC_Net2008/Makefile
-    MSVC_Net2008/gendef/Makefile
-    MSVC_Net2008/atkmm/Makefile
-    MSVC_Net2008/atkmm/atkmm.rc
-    MSVC_Net2008/gdkmm/Makefile
-    MSVC_Net2008/gdkmm/gdkmm.rc
-    MSVC_Net2008/gtkmm/Makefile
-    MSVC_Net2008/gtkmm/gtkmm.rc
-    MSVC_Net2008/demos/Makefile
-      MSVC_Net2008/demos/gtk-demo/Makefile
-
-  win32_installer/Makefile
-    win32_installer/NSISLibrary/Makefile
-    win32_installer/translations/Makefile
+  MSVC_Net2005/atkmm/atkmm.rc
+  MSVC_Net2005/gdkmm/gdkmm.rc
+  MSVC_Net2005/gtkmm/gtkmm.rc
+
+  MSVC_Net2008/atkmm/atkmm.rc
+  MSVC_Net2008/gdkmm/gdkmm.rc
+  MSVC_Net2008/gtkmm/gtkmm.rc
+
   win32_installer/gtkmm-installer.nsi
 ])
 
+# Copy the generated configuration headers into the MSVC project directories.
+AC_CONFIG_COMMANDS([MSVC_Net2005/gdkmm/gdkmmconfig.h],
+                   [cp -f gdk/gdkmmconfig.h MSVC_Net2005/gdkmm/gdkmmconfig.h])
+AC_CONFIG_COMMANDS([MSVC_Net2005/gtkmm/gtkmmconfig.h],
+                   [cp -f gtk/gtkmmconfig.h MSVC_Net2005/gtkmm/gtkmmconfig.h])
+AC_CONFIG_COMMANDS([MSVC_Net2008/gdkmm/gdkmmconfig.h],
+                   [cp -f gdk/gdkmmconfig.h MSVC_Net2008/gdkmm/gdkmmconfig.h])
+AC_CONFIG_COMMANDS([MSVC_Net2008/gtkmm/gtkmmconfig.h],
+                   [cp -f gtk/gtkmmconfig.h MSVC_Net2008/gtkmm/gtkmmconfig.h])
+AC_CONFIG_COMMANDS([win32_installer/lgpl.txt],
+                   [cp -f COPYING win32_installer/lgpl.txt])
 AC_OUTPUT
diff --git a/win32_installer/filelist.am b/win32_installer/filelist.am
new file mode 100644
index 0000000..6e61c23
--- /dev/null
+++ b/win32_installer/filelist.am
@@ -0,0 +1,28 @@
+## This file is part of gtkmm.
+
+windows_installer_data =		\
+	README				\
+	build-installer			\
+	gtkmm-installer.nsi		\
+	gtkmm-vc80-2_4.vsprops		\
+	gtkmm-vc80-d-2_4.vsprops	\
+	gtkmm-vc90-2_4.vsprops		\
+	gtkmm-vc90-d-2_4.vsprops	\
+	gtkmm.ico			\
+	gtkmm_win32.txt			\
+	install-msvc-module		\
+	lgpl.txt			\
+	redist_README.txt		\
+	NSISLibrary/CmdParameters.nsh	\
+	NSISLibrary/DetectGTK.nsh	\
+	NSISLibrary/IsNT.nsh		\
+	NSISLibrary/ParseVersion.nsh	\
+	NSISLibrary/PathManipulation.nsh\
+	NSISLibrary/PathQuestion.ini	\
+	NSISLibrary/SetContext.ini	\
+	NSISLibrary/StringUtilities.nsh	\
+	NSISLibrary/VersionCheck.nsh	\
+	NSISLibrary/WriteEnvStr.nsh	\
+	translations/english.nsh	\
+	translations/french.nsh		\
+	translations/simpchinese.nsh
diff --git a/win32_installer/gtkmm-installer.nsi.in b/win32_installer/gtkmm-installer.nsi.in
index fa73f08..5cea045 100644
--- a/win32_installer/gtkmm-installer.nsi.in
+++ b/win32_installer/gtkmm-installer.nsi.in
@@ -41,8 +41,7 @@
 !undef PRODUCT_API_VERSION
 !endif
 
-; TODO: Autodetect this
-!define PRODUCT_API_VERSION "2.4"
+!define PRODUCT_API_VERSION "@GTKMM_API_VERSION@"
 
 ;--------------------------------
 ; Defines
@@ -60,7 +59,7 @@
 !ifdef PRODUCT_VERSION
 !undef PRODUCT_VERSION
 !endif
-!define PRODUCT_VERSION "${PRODUCT_VERSION_MAJOR}.${PRODUCT_VERSION_MINOR}.${PRODUCT_VERSION_MICRO}"
+!define PRODUCT_VERSION "@PACKAGE_VERSION@"
 
 !ifdef RUNTIME_ONLY
   !define INSTALLER_NAME "${PRODUCT_NAME}-win32-runtime-${PRODUCT_VERSION}-${PRODUCT_VERSION_INSTALLER}.exe"
diff --git a/win32_installer/install-msvc-module b/win32_installer/install-msvc-module
index 4f86ab1..46ff43d 100644
--- a/win32_installer/install-msvc-module
+++ b/win32_installer/install-msvc-module
@@ -1,4 +1,4 @@
-#!/bin/sh
+#! /bin/sh
 
 # This installs MSVC-built libraries of a module such as libsigc++, glibmm or
 # gtkmm into the MSVC subdirectory
@@ -10,7 +10,8 @@ toolset=$2
 basepath=../..
 
 # TODO: Automatically find latest version of package: First try SVN checkout, then look for latest installed tarball version.
-if test $module = 'libsigc++'; then
+case $module in
+    libsigc++)
 	# Path to extracted tarball or SVN checkout
 	sourcepath="${basepath}/libsigc++-2.2.3"
 	# Basename of DLL
@@ -21,73 +22,88 @@ if test $module = 'libsigc++'; then
 	abiname='sigc++-2.0'
 	# Subdirectory in MSVC_Net2005
 	subdir='.'
-elif test $module = 'glibmm'; then
+	;;
+    glibmm)
 	sourcepath="${basepath}/glibmm-2.20.0"
 	basename='glibmm'
 	vername='2_4'
 	abiname='glibmm-2.4'
 	subdir='glibmm'
-elif test $module = 'giomm'; then
+	;;
+    giomm)
 	sourcepath="${basepath}/glibmm-2.20.0"
 	basename='giomm'
 	vername='2_4'
 	abiname='giomm-2.4'
 	subdir='giomm'
-elif test $module = 'cairomm'; then
+	;;
+    cairomm)
 	sourcepath="${basepath}/cairomm-1.8.0"
 	basename='cairomm'
 	vername='1_0'
 	abiname='cairomm-1.0'
 	subdir='cairomm'
-elif test $module = 'pangomm'; then
+	;;
+    pangomm)
 	sourcepath="${basepath}/pangomm-2.24.0"
 	basename='pangomm'
 	vername='1_4'
 	abiname='pangomm-1.4'
 	subdir='pangomm'
-elif test $module = 'atkmm'; then
+	;;
+    atkmm)
 	sourcepath="${basepath}/gtkmm-2.16.0"
 	basename='atkmm'
 	vername='1_6'
 	abiname='atkmm-1.6'
 	subdir='atkmm'
-elif test $module = 'gdkmm'; then
+	;;
+    gdkmm)
 	sourcepath="${basepath}/gtkmm-2.16.0"
 	basename='gdkmm'
 	vername='2_4'
 	abiname='gdkmm-2.4'
 	subdir='gdkmm'
-elif test $module = 'gtkmm'; then
+	;;
+    gtkmm)
 	sourcepath="${basepath}/gtkmm-2.16.0"
 	basename='gtkmm'
 	vername='2_4'
 	abiname='gtkmm-2.4'
 	subdir='gtkmm'
-elif test $module = 'libglademm'; then
+	;;
+    libglademm)
 	sourcepath="${basepath}/libglademm-2.6.7"
 	basename='glademm'
 	vername='2_4'
 	abiname='glademm-2.4'
 	subdir='libglademm'
-elif test $module = 'libxml++'; then
+	;;
+    libxml++)
 	sourcepath="${basepath}/libxml++-2.26.0"
 	basename='xml++'
 	vername='2_6'
 	abiname='libxml++-2.6'
 	subdir='libxml++'
-else
+	;;
+    *)
 	echo "Module $module not known"
-	exit -1
-fi
+	exit 1
+	;;
+esac
 
-if test $toolset = 'vc80'; then
+case $toolset in
+    vc80)
 	vcdir='MSVC_Net2005'
-elif test $toolset = 'vc90'; then
+	;;
+    vc90)
 	vcdir='MSVC_Net2008'
-else
+	;;
+    *)
 	echo "Toolset $toolset not known"
-	exit -1
-fi
+	exit 1
+	;;
+esac
 
 #echo "Source Path: $sourcepath"
 #echo "Basename: $basename"
@@ -96,18 +112,18 @@ fi
 
 targetpath=MSVC
 
-mkdir -p ${targetpath} || exit -1
-cp $sourcepath/$vcdir/$subdir/Release/${basename}-${toolset}-${vername}.dll $targetpath || exit -1
-cp $sourcepath/$vcdir/$subdir/Debug/${basename}-${toolset}-d-${vername}.dll $targetpath || exit -1
-cp $sourcepath/$vcdir/$subdir/Debug/${basename}-${toolset}-d-${vername}.pdb $targetpath || exit -1
+mkdir -p "${targetpath}" || exit 1
+cp "$sourcepath/$vcdir/$subdir/Release/${basename}-${toolset}-${vername}.dll" "$targetpath" || exit 1
+cp "$sourcepath/$vcdir/$subdir/Debug/${basename}-${toolset}-d-${vername}.dll" "$targetpath" || exit 1
+cp "$sourcepath/$vcdir/$subdir/Debug/${basename}-${toolset}-d-${vername}.pdb" "$targetpath" || exit 1
 
-mkdir -p ${targetpath}/lib || exit -1
-cp $sourcepath/$vcdir/$subdir/Release/${basename}-${toolset}-${vername}.lib $targetpath || exit -1
-cp $sourcepath/$vcdir/$subdir/Debug/${basename}-${toolset}-d-${vername}.lib $targetpath || exit -1
+mkdir -p "${targetpath}/lib" || exit 1
+cp "$sourcepath/$vcdir/$subdir/Release/${basename}-${toolset}-${vername}.lib" "$targetpath" || exit 1
+cp "$sourcepath/$vcdir/$subdir/Debug/${basename}-${toolset}-d-${vername}.lib" "$targetpath" || exit 1
 
 # Configfile is used from mingw, thus commented out:
 #configfile=$sourcepath/MSVC_Net2005/$subdir/*config.h
 #if test -f configfile; then
-#	mkdir -p $targetpath/lib/${abiname}/include/ || exit -1
-#	cp $configfile $targetpath/lib/${abiname}/include/ || exit -1
+#	mkdir -p $targetpath/lib/${abiname}/include/ || exit 1
+#	cp $configfile $targetpath/lib/${abiname}/include/ || exit 1
 #fi



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]