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

Re: Cableswig package



On Tue, Feb 28, 2006 at 11:27:58PM -0500, Steve M. Robbins wrote:

> I propose to make an upload of cableswig with the patches I
> previously posted.  I can do so next weekend.  Let me know your
> plans.

As threatened ;-) I just uploaded cableswig, version
0.1.0+cvs20060304-1, to Debian.

The final patch to CMakeLists.txt is slightly different from what I
had previously posted.  I changed the variable name to
CSWIG_USE_SYSTEM_GCCXML which is more similar to the style used by ITK
for system libraries like png.

I made two small cosmetic changes to the cswig and cableidx programs.

I'm attaching the patches here for Brad's benefit.  I hope they
will be incorporated into CVS.

Cheers,
-Steve
? Build
? debian
Index: CMakeLists.txt
===================================================================
RCS file: /cvsroot/CableSwig/CableSwig/CMakeLists.txt,v
retrieving revision 1.20
diff -u -b -B -r1.20 CMakeLists.txt
--- CMakeLists.txt	7 Jun 2005 13:34:18 -0000	1.20
+++ CMakeLists.txt	5 Mar 2006 05:49:43 -0000
@@ -71,16 +71,31 @@
 
 LINK_DIRECTORIES( ${CableSwig_BINARY_DIR}/bin  )
 
-# Tell GCC-XML that we are building gccxml_cc1plus.
-SET(GCCXML_NATIVE_CC1PLUS 1)
+ADD_SUBDIRECTORY(SWIG)
+ADD_SUBDIRECTORY(Cable)
 
 # Tell CABLE to not install CxxTypes headers.
 SET(CABLE_NO_INSTALL_FACILITIES 1)
 
-# Tell GCC-XML where to install.
-SET(GCCXML_INSTALL_ROOT ${CableSwig_INSTALL_ROOT}/lib/CableSwig)
+# Use system GCC-XML?
+SET(CSWIG_USE_SYSTEM_GCCXML false CACHE BOOL "Use the system's gccxml.")
 
-SUBDIRS(SWIG Cable GCC GCC_XML Executables)
+IF(CSWIG_USE_SYSTEM_GCCXML)
+  # Location of external gccxml
+  SET(GCCXML_PATH /usr/bin/gccxml CACHE FILEPATH "Path to external gccxml binary")
+  SET(CableSwig_gccxml_EXE_CONFIG ${GCCXML_PATH})
+ELSE(CSWIG_USE_SYSTEM_GCCXML)
+  # Tell GCC-XML that we are building gccxml_cc1plus.
+  SET(GCCXML_NATIVE_CC1PLUS 1)
+
+  # Tell GCC-XML where to install.
+  SET(GCCXML_INSTALL_ROOT ${CableSwig_INSTALL_ROOT}/lib/CableSwig)
+
+  ADD_SUBDIRECTORY(GCC)
+  ADD_SUBDIRECTORY(GCC_XML)
+ENDIF(CSWIG_USE_SYSTEM_GCCXML)
+
+ADD_SUBDIRECTORY(Executables)
 
 #-----------------------------------------------------------------------------
 # Create the CableSwigConfig.cmake files for external projects to use.
@@ -92,7 +107,9 @@
 MARK_AS_ADVANCED(CableSwig_cableidx_EXE CableSwig_cswig_EXE CableSwig_gccxml_EXE)
 SET(CableSwig_cableidx_EXE_CONFIG ${CableSwig_cableidx_EXE})
 SET(CableSwig_cswig_EXE_CONFIG ${CableSwig_cswig_EXE})
-SET(CableSwig_gccxml_EXE_CONFIG ${CableSwig_gccxml_EXE})
+IF(NOT GCCXML_PATH)
+  SET(CableSwig_gccxml_EXE_CONFIG ${CableSwig_gccxml_EXE})
+ENDIF(NOT GCCXML_PATH)
 SET(CableSwig_DEFAULT_LIB_CONFIG ${CableSwig_SOURCE_DIR}/SWIG/Lib)
 CONFIGURE_FILE(${CableSwig_SOURCE_DIR}/CableSwigConfig.cmake.in
                ${CableSwig_BINARY_DIR}/CableSwigConfig.cmake @ONLY IMMEDIATE)
@@ -100,7 +117,9 @@
 # Settings for the install tree.
 SET(CableSwig_cableidx_EXE_CONFIG ${CMAKE_INSTALL_PREFIX}${CableSwig_INSTALL_ROOT}/bin/cableidx)
 SET(CableSwig_cswig_EXE_CONFIG ${CMAKE_INSTALL_PREFIX}${CableSwig_INSTALL_ROOT}/bin/cswig)
-SET(CableSwig_gccxml_EXE_CONFIG ${CMAKE_INSTALL_PREFIX}${GCCXML_INSTALL_ROOT}/bin/gccxml)
+IF(NOT GCCXML_PATH)
+  SET(CableSwig_gccxml_EXE_CONFIG ${CMAKE_INSTALL_PREFIX}${GCCXML_INSTALL_ROOT}/bin/gccxml)
+ENDIF(NOT GCCXML_PATH)
 SET(CableSwig_DEFAULT_LIB_CONFIG ${CMAKE_INSTALL_PREFIX}${CableSwig_INSTALL_ROOT}/lib/CableSwig/SWIGLib)
 
 CONFIGURE_FILE(${CableSwig_SOURCE_DIR}/CableSwigConfig.cmake.in
Index: Executables/cableSwigMain.cxx
===================================================================
RCS file: /cvsroot/CableSwig/CableSwig/Executables/cableSwigMain.cxx,v
retrieving revision 1.10
diff -u -b -B -r1.10 cableSwigMain.cxx
--- Executables/cableSwigMain.cxx	18 Feb 2004 17:15:12 -0000	1.10
+++ Executables/cableSwigMain.cxx	5 Mar 2006 05:49:43 -0000
@@ -588,7 +588,7 @@
 
   
   if (help) {
-    Printf(stderr,"\nNote: 'swig -<lang> -help' displays options for a specific target language.\n\n");
+    Printf(stderr,"\nNote: 'cswig -<lang> -help' displays options for a specific target language.\n\n");
     SWIG_exit (EXIT_SUCCESS);    // Exit if we're in help mode
   }
 
Index: Executables/cableidx.cxx
===================================================================
RCS file: /cvsroot/CableSwig/CableSwig/Executables/cableidx.cxx,v
retrieving revision 1.2
diff -u -b -B -r1.2 cableidx.cxx
--- Executables/cableidx.cxx	18 Feb 2004 14:45:22 -0000	1.2
+++ Executables/cableidx.cxx	5 Mar 2006 05:49:44 -0000
@@ -220,9 +220,9 @@
   
 int main(int ac, char* av[])
 {
-  if(ac < 2)
+  if(ac != 3)
     {
-    std::cerr << "Usage: " << av[0] << " input.xml output.idx";
+    std::cerr << "Usage: " << av[0] << " input.xml output.idx\n";
     return 1;
     }
   std::string outFileName = av[2];

Reply to: