From: <svn...@op...> - 2009-05-11 12:25:17
|
Author: bellmich Date: Mon May 11 14:25:14 2009 New Revision: 213 URL: http://libwbxml.opensync.org/changeset/213 Log: added getopt detection for ticket #34 Modified: wbxml2/trunk/CMakeLists.txt wbxml2/trunk/tools/CMakeLists.txt wbxml2/trunk/tools/getopt.h Modified: wbxml2/trunk/CMakeLists.txt ============================================================================== --- wbxml2/trunk/CMakeLists.txt Mon May 11 14:24:30 2009 (r212) +++ wbxml2/trunk/CMakeLists.txt Mon May 11 14:25:14 2009 (r213) @@ -84,6 +84,24 @@ INCLUDE( Testing ) ENDIF(CHECK_FOUND) +# look for getopt implementation in unistd.h + +INCLUDE(CheckFunctionExists) +INCLUDE(CheckIncludeFile) + +CHECK_INCLUDE_FILE( "unistd.h" LIBWBXML_TOOLS_UNISTD_H ) +IF( ${LIBWBXML_TOOLS_UNISTD_H} ) + SET( CMAKE_REQUIRED_INCLUDES ${LIBWBXML_TOOLS_UNISTD_H} ) + CHECK_FUNCTION_EXISTS( getopt LIBWBXML_POSIX_GETOPT ) +ELSE( ${LIBWBXML_TOOLS_UNISTD_H} ) + SET( LIBWBXML_POSIX_GETOPT OFF ) +ENDIF( ${LIBWBXML_TOOLS_UNISTD_H} ) +IF( LIBWBXML_POSIX_GETOPT ) + OPTION( FOUND_POSIX_GETOPT "POSIX getopt" ON ) +ELSE( LIBWBXML_POSIX_GETOPT ) + OPTION( FOUND_POSIX_GETOPT "POSIX getopt" OFF ) +ENDIF( LIBWBXML_POSIX_GETOPT ) + # look for the commands required for testing FIND_PROGRAM( PERL_PROGRAM "perl" ) @@ -179,6 +197,7 @@ INCLUDE( ShowStatus ) MESSAGE( STATUS "==================================================" ) SHOW_STATUS( WBXML_LIB_VERBOSE "verbose mode\t\t\t" ) +SHOW_STATUS( FOUND_POSIX_GETOPT "POSIX getopt\t\t\t" ) SHOW_STATUS( ENABLE_UNIT_TEST "unit tests\t\t\t" ) SHOW_STATUS( ENABLE_PERL "perl binary (test generated XML)" ) SHOW_STATUS( ENABLE_DIFF "diff binary (test generated XML)" ) Modified: wbxml2/trunk/tools/CMakeLists.txt ============================================================================== --- wbxml2/trunk/tools/CMakeLists.txt Mon May 11 14:24:30 2009 (r212) +++ wbxml2/trunk/tools/CMakeLists.txt Mon May 11 14:25:14 2009 (r213) @@ -6,7 +6,15 @@ cmake_policy(SET CMP0003 NEW) endif(COMMAND cmake_policy) -ADD_EXECUTABLE( wbxml2xml wbxml2xml_tool.c attgetopt.c ) +CONFIGURE_FILE( "config.h.cmake" "${CMAKE_CURRENT_BINARY_DIR}/config.h") + +IF( LIBWBXML_POSIX_GETOPT ) + SET( ATTGETOPT "" ) +ELSE( LIBWBXML_POSIX_GETOPT ) + SET( ATTGETOPT "attgetopt.c" ) +ENDIF( LIBWBXML_POSIX_GETOPT ) + +ADD_EXECUTABLE( wbxml2xml wbxml2xml_tool.c ${ATTGETOPT} ) TARGET_LINK_LIBRARIES( wbxml2xml wbxml2 ) INSTALL( TARGETS wbxml2xml DESTINATION ${LIBWBXML_BIN_DIR} ) Modified: wbxml2/trunk/tools/getopt.h ============================================================================== --- wbxml2/trunk/tools/getopt.h Mon May 11 14:24:30 2009 (r212) +++ wbxml2/trunk/tools/getopt.h Mon May 11 14:25:14 2009 (r213) @@ -9,6 +9,15 @@ #ifndef WBXML_GETOPT_H #define WBXML_GETOPT_H +#include "tools/config.h" + +#ifdef FOUND_POSIX_GETOPT + +#include <unistd.h> +#define wbxml_getopt getopt + +#else /* FOUND_POSIX_GETOPT */ + int wbxml_getopt(int argc, char **argv, char *opts); extern int optind; /* useless variable @@ -16,4 +25,6 @@ */ extern char *optarg; +#endif /* FOUND_POSIX_GETOPT */ + #endif |