Libsvn / APR dependency is removed.

Remove any use of libsubversion / API in Simgear, and always
compile the built-in SVN client code.
This commit is contained in:
James Turner 2013-09-23 18:05:37 +01:00
parent b39bca9458
commit 3e8732b230
6 changed files with 10 additions and 544 deletions

View File

@ -110,8 +110,6 @@ endif()
option(SIMGEAR_HEADLESS "Set to ON to build SimGear without GUI/graphics support" OFF) option(SIMGEAR_HEADLESS "Set to ON to build SimGear without GUI/graphics support" OFF)
option(JPEG_FACTORY "Enable JPEG-factory support" OFF) option(JPEG_FACTORY "Enable JPEG-factory support" OFF)
option(SG_SVN_CLIENT "Set to ON to build SimGear with built-in SVN support" OFF)
option(ENABLE_LIBSVN "Set to ON to build SimGear with libsvnclient support" ON)
option(ENABLE_RTI "Set to ON to build SimGear with RTI support" OFF) option(ENABLE_RTI "Set to ON to build SimGear with RTI support" OFF)
option(ENABLE_TESTS "Set to OFF to disable building SimGear's test applications" ON) option(ENABLE_TESTS "Set to OFF to disable building SimGear's test applications" ON)
option(ENABLE_SOUND "Set to OFF to disable building SimGear's sound support" ON) option(ENABLE_SOUND "Set to OFF to disable building SimGear's sound support" ON)
@ -201,25 +199,6 @@ else()
message(STATUS "JPEG-factory: DISABLED") message(STATUS "JPEG-factory: DISABLED")
endif(JPEG_FACTORY) endif(JPEG_FACTORY)
if (SG_SVN_CLIENT)
message(STATUS "Using built-in subversion client code")
elseif(ENABLE_LIBSVN)
find_package(SvnClient)
if(LIBSVN_FOUND)
message(STATUS "Subversion client support: ENABLED")
set(HAVE_SVN_CLIENT_H 1)
set(HAVE_LIBSVN_CLIENT_1 1)
else()
# Oops. ENABLE_LIBSVN is ON, but svn is still missing.
# Provide clearly visible warning/hint, so builders know what else they should install (or disable).
message(WARNING "Failed to enable subversion client support. Unable to find required subversion client library. Some features may not be available (scenery download).")
message(WARNING "Install 'libsvn' library/DLL (libsvn-devel/libsvnclient/...). Otherwise disable subversion support (set 'ENABLE_LIBSVN' to 'OFF').")
endif(LIBSVN_FOUND)
else()
message(STATUS "Subversion client support: DISABLED")
endif(SG_SVN_CLIENT)
find_package(ZLIB REQUIRED) find_package(ZLIB REQUIRED)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)

View File

@ -1,83 +0,0 @@
# Find Subversion client libraries, and dependencies
# including APR (Apache Portable Runtime)
include (CheckFunctionExists)
include (CheckIncludeFile)
include (CheckLibraryExists)
macro(find_static_component comp libs)
# account for alternative Windows svn distribution naming
if(MSVC)
set(compLib "lib${comp}")
else(MSVC)
set(compLib "${comp}")
endif(MSVC)
string(TOUPPER "${comp}" compLibBase)
set( compLibName ${compLibBase}_LIBRARY )
# NO_DEFAULT_PATH is important on Mac - we need to ensure subversion
# libraires in dist/ or Macports are picked over the Apple version
# in /usr, since that's what we will ship.
# On other platforms we do need default paths though, i.e. since Linux
# distros may use architecture-specific directories (like
# /usr/lib/x86_64-linux-gnu) which we cannot hardcode/guess here.
FIND_LIBRARY(${compLibName}
if(APPLE)
NO_DEFAULT_PATH
endif(APPLE)
NAMES ${compLib}
HINTS $ENV{LIBSVN_DIR} ${CMAKE_INSTALL_PREFIX} ${MSVC_3RDPARTY_ROOT}/${MSVC_3RDPARTY_DIR}/lib
PATH_SUFFIXES lib64 lib libs64 libs libs/Win32 libs/Win64
PATHS ${ADDITIONAL_LIBRARY_PATHS}
)
list(APPEND ${libs} ${${compLibName}})
endmacro()
find_program(HAVE_APR_CONFIG apr-1-config)
if(HAVE_APR_CONFIG)
execute_process(COMMAND apr-1-config --cppflags --includes
OUTPUT_VARIABLE APR_CFLAGS
OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND apr-1-config --link-ld
OUTPUT_VARIABLE RAW_APR_LIBS
OUTPUT_STRIP_TRAILING_WHITESPACE)
# clean up some vars, or other CMake pieces complain
string(STRIP "${RAW_APR_LIBS}" APR_LIBS)
else(HAVE_APR_CONFIG)
message(STATUS "apr-1-config not found, implement manual search for APR")
endif(HAVE_APR_CONFIG)
if(HAVE_APR_CONFIG OR MSVC)
find_path(LIBSVN_INCLUDE_DIR svn_client.h
NO_DEFAULT_PATH
HINTS
$ENV{LIBSVN_DIR} ${CMAKE_INSTALL_PREFIX} ${MSVC_3RDPARTY_ROOT}/${MSVC_3RDPARTY_DIR}/include
PATH_SUFFIXES include/subversion-1
PATHS
/opt/local
/usr/local
/usr
)
set(LIBSVN_LIBRARIES "")
if (MSVC)
find_static_component("apr-1" LIBSVN_LIBRARIES)
else (MSVC)
list(APPEND LIBSVN_LIBRARIES ${APR_LIBS})
endif (MSVC)
find_static_component("svn_client-1" LIBSVN_LIBRARIES)
find_static_component("svn_subr-1" LIBSVN_LIBRARIES)
find_static_component("svn_ra-1" LIBSVN_LIBRARIES)
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBSVN DEFAULT_MSG LIBSVN_LIBRARIES LIBSVN_INCLUDE_DIR)
if(NOT LIBSVN_FOUND)
set(LIBSVN_LIBRARIES "")
endif(NOT LIBSVN_FOUND)
endif(HAVE_APR_CONFIG OR MSVC)

View File

@ -47,11 +47,6 @@ get_property(sceneSources GLOBAL PROPERTY SCENE_SOURCES)
get_property(publicHeaders GLOBAL PROPERTY PUBLIC_HEADERS) get_property(publicHeaders GLOBAL PROPERTY PUBLIC_HEADERS)
get_property(localExpatSources GLOBAL PROPERTY LOCAL_EXPAT_SOURCES) get_property(localExpatSources GLOBAL PROPERTY LOCAL_EXPAT_SOURCES)
if(LIBSVN_FOUND)
add_definitions(${APR_CFLAGS})
include_directories(${LIBSVN_INCLUDE_DIR})
endif()
if(SIMGEAR_SHARED) if(SIMGEAR_SHARED)
message(STATUS "Library building mode: SHARED LIBRARIES") message(STATUS "Library building mode: SHARED LIBRARIES")
add_library(SimGearCore SHARED ${coreSources} ${localExpatSources}) add_library(SimGearCore SHARED ${coreSources} ${localExpatSources})
@ -70,10 +65,6 @@ if(SIMGEAR_SHARED)
${CMAKE_THREAD_LIBS_INIT} ${CMAKE_THREAD_LIBS_INIT}
${CORE_SERVICES_LIBRARY}) ${CORE_SERVICES_LIBRARY})
if(LIBSVN_FOUND)
target_link_libraries(SimGearCore ${LIBSVN_LIBRARIES})
endif(LIBSVN_FOUND)
if(NOT SIMGEAR_HEADLESS) if(NOT SIMGEAR_HEADLESS)
add_library(SimGearScene SHARED ${sceneSources}) add_library(SimGearScene SHARED ${sceneSources})
# set_property(TARGET SimGearScene PROPERTY FRAMEWORK 1) # set_property(TARGET SimGearScene PROPERTY FRAMEWORK 1)

View File

@ -37,11 +37,9 @@
# include <unistd.h> # include <unistd.h>
#elif defined(_MSC_VER) #elif defined(_MSC_VER)
# include <io.h> # include <io.h>
# ifndef HAVE_SVN_CLIENT_H
# include <time.h> # include <time.h>
# include <process.h> # include <process.h>
#endif #endif
#endif
#include <stdlib.h> // atoi() atof() abs() system() #include <stdlib.h> // atoi() atof() abs() system()
#include <signal.h> // signal() #include <signal.h> // signal()
@ -63,37 +61,11 @@
#include <simgear/misc/sg_dir.hxx> #include <simgear/misc/sg_dir.hxx>
#include <simgear/debug/BufferedLogCallback.hxx> #include <simgear/debug/BufferedLogCallback.hxx>
#include <simgear/props/props_io.hxx> #include <simgear/props/props_io.hxx>
#ifdef SG_SVN_CLIENT
#include <simgear/io/HTTPClient.hxx> #include <simgear/io/HTTPClient.hxx>
#include <simgear/io/SVNRepository.hxx> #include <simgear/io/SVNRepository.hxx>
#endif
#ifdef HAVE_SVN_CLIENT_H
# ifdef HAVE_LIBSVN_CLIENT_1
# include <svn_version.h>
# include <svn_auth.h>
# include <svn_client.h>
# include <svn_cmdline.h>
# include <svn_pools.h>
# else
# undef HAVE_SVN_CLIENT_H
# endif
#endif
#ifdef HAVE_SVN_CLIENT_H
static const svn_version_checklist_t mysvn_checklist[] = {
{ "svn_subr", svn_subr_version },
{ "svn_client", svn_client_version },
{ NULL, NULL }
};
#endif
#if defined(HAVE_SVN_CLIENT_H) || defined(SG_SVN_CLIENT)
static const bool svn_built_in_available = true; static const bool svn_built_in_available = true;
#else
static const bool svn_built_in_available = false;
#endif
using namespace simgear; using namespace simgear;
using namespace std; using namespace std;
@ -173,12 +145,9 @@ public:
void setUseSvn(bool use_svn) { _use_svn = use_svn;} void setUseSvn(bool use_svn) { _use_svn = use_svn;}
void setAllowedErrorCount(int errors) {_allowed_errors = errors;} void setAllowedErrorCount(int errors) {_allowed_errors = errors;}
#if defined(HAVE_SVN_CLIENT_H) || defined(SG_SVN_CLIENT)
void setCachePath(const SGPath& p) {_persistentCachePath = p;} void setCachePath(const SGPath& p) {_persistentCachePath = p;}
void setCacheHits(unsigned int hits) {_cache_hits = hits;} void setCacheHits(unsigned int hits) {_cache_hits = hits;}
void setUseBuiltin(bool built_in) { _use_built_in = built_in;} void setUseBuiltin(bool built_in) { _use_built_in = built_in;}
#endif
volatile bool _active; volatile bool _active;
volatile bool _running; volatile bool _running;
@ -201,23 +170,12 @@ private:
void initCompletedTilesPersistentCache(); void initCompletedTilesPersistentCache();
void writeCompletedTilesPersistentCache() const; void writeCompletedTilesPersistentCache() const;
#if defined(SG_SVN_CLIENT)
bool syncTreeInternal(const char* dir); bool syncTreeInternal(const char* dir);
bool _use_built_in; bool _use_built_in;
HTTP::Client _http; HTTP::Client _http;
std::auto_ptr<SVNRepository> _repository; std::auto_ptr<SVNRepository> _repository;
#elif defined(HAVE_SVN_CLIENT_H)
static int svnClientSetup(void);
bool syncTreeInternal(const char* dir);
bool _use_built_in;
// Things we need for doing subversion checkout - often
static apr_pool_t *_svn_pool;
static svn_client_ctx_t *_svn_ctx;
static svn_opt_revision_t *_svn_rev;
static svn_opt_revision_t *_svn_rev_peg;
#endif
volatile bool _is_dirty; volatile bool _is_dirty;
volatile bool _stop; volatile bool _stop;
@ -232,13 +190,6 @@ private:
SGPath _persistentCachePath; SGPath _persistentCachePath;
}; };
#ifdef HAVE_SVN_CLIENT_H
apr_pool_t* SGTerraSync::SvnThread::_svn_pool = NULL;
svn_client_ctx_t* SGTerraSync::SvnThread::_svn_ctx = NULL;
svn_opt_revision_t* SGTerraSync::SvnThread::_svn_rev = NULL;
svn_opt_revision_t* SGTerraSync::SvnThread::_svn_rev_peg = NULL;
#endif
SGTerraSync::SvnThread::SvnThread() : SGTerraSync::SvnThread::SvnThread() :
_active(false), _active(false),
_running(false), _running(false),
@ -250,21 +201,11 @@ SGTerraSync::SvnThread::SvnThread() :
_consecutive_errors(0), _consecutive_errors(0),
_allowed_errors(6), _allowed_errors(6),
_cache_hits(0), _cache_hits(0),
#if defined(HAVE_SVN_CLIENT_H) || defined(SG_SVN_CLIENT)
_use_built_in(true), _use_built_in(true),
#endif
_is_dirty(false), _is_dirty(false),
_stop(false), _stop(false),
_use_svn(true) _use_svn(true)
{ {
#ifdef HAVE_SVN_CLIENT_H
int errCode = SGTerraSync::SvnThread::svnClientSetup();
if (errCode != EXIT_SUCCESS)
{
SG_LOG(SG_TERRAIN,SG_ALERT,
"Failed to initialize built-in SVN client, error = " << errCode);
}
#endif
} }
void SGTerraSync::SvnThread::stop() void SGTerraSync::SvnThread::stop()
@ -319,9 +260,7 @@ bool SGTerraSync::SvnThread::start()
return false; return false;
} }
#if defined(HAVE_SVN_CLIENT_H) || defined(SG_SVN_CLIENT)
_use_svn |= _use_built_in; _use_svn |= _use_built_in;
#endif
if ((_use_svn)&&(_svn_server=="")) if ((_use_svn)&&(_svn_server==""))
{ {
@ -349,12 +288,10 @@ bool SGTerraSync::SvnThread::start()
_running = true; _running = true;
string status; string status;
#if defined(HAVE_SVN_CLIENT_H) || defined(SG_SVN_CLIENT)
if (_use_svn && _use_built_in) if (_use_svn && _use_built_in)
status = "Using built-in SVN support. "; status = "Using built-in SVN support. ";
else else if (_use_svn)
#endif
if (_use_svn)
{ {
status = "Using external SVN utility '"; status = "Using external SVN utility '";
status += _svn_command; status += _svn_command;
@ -395,17 +332,11 @@ bool SGTerraSync::SvnThread::syncTree(const char* dir, bool& isNewDirectory)
} }
} }
#if defined(HAVE_SVN_CLIENT_H) || defined(SG_SVN_CLIENT)
if (_use_built_in) if (_use_built_in)
return syncTreeInternal(dir); return syncTreeInternal(dir);
else else
#endif
{
return syncTreeExternal(dir); return syncTreeExternal(dir);
} }
}
#if defined(SG_SVN_CLIENT)
bool SGTerraSync::SvnThread::syncTreeInternal(const char* dir) bool SGTerraSync::SvnThread::syncTreeInternal(const char* dir)
{ {
@ -441,84 +372,6 @@ bool SGTerraSync::SvnThread::syncTreeInternal(const char* dir)
return result; return result;
} }
#elif defined(HAVE_SVN_CLIENT_H)
bool SGTerraSync::SvnThread::syncTreeInternal(const char* dir)
{
SG_LOG(SG_TERRAIN,SG_DEBUG, "Synchronizing scenery directory " << dir);
if (!_svn_pool)
{
SG_LOG(SG_TERRAIN,SG_ALERT,
"Built-in SVN client failed to initialize.");
return false;
}
ostringstream command;
command << _svn_server << "/" << dir;
ostringstream dest_base_dir;
dest_base_dir << _local_dir << "/" << dir;
apr_pool_t *subpool = svn_pool_create(_svn_pool);
svn_error_t *err = NULL;
#if (SVN_VER_MINOR >= 5)
err = svn_client_checkout3(NULL,
command.str().c_str(),
dest_base_dir.str().c_str(),
_svn_rev_peg,
_svn_rev,
svn_depth_infinity,
0, // ignore-externals = false
0, // allow unver obstructions = false
_svn_ctx,
subpool);
#else
// version 1.4 API
err = svn_client_checkout2(NULL,
command.str().c_str(),
dest_base_dir.str().c_str(),
_svn_rev_peg,
_svn_rev,
1, // recurse=true - same as svn_depth_infinity for checkout3 above
0, // ignore externals = false
_svn_ctx,
subpool);
#endif
bool ReturnValue = true;
if (err)
{
// Report errors from the checkout attempt
if (err->apr_err == SVN_ERR_RA_ILLEGAL_URL)
{
// ignore errors when remote path doesn't exist (no scenery data for ocean areas)
}
else
{
SG_LOG(SG_TERRAIN,SG_ALERT,
"Failed to synchronize directory '" << dir << "', " <<
err->message << " (code " << err->apr_err << ").");
svn_error_clear(err);
// try to clean up
err = svn_client_cleanup(dest_base_dir.str().c_str(),
_svn_ctx,subpool);
if (!err)
{
SG_LOG(SG_TERRAIN,SG_ALERT,
"SVN repository cleanup successful for '" << dir << "'.");
}
ReturnValue = false;
}
} else
{
SG_LOG(SG_TERRAIN,SG_DEBUG, "Done with scenery directory " << dir);
}
svn_pool_destroy(subpool);
return ReturnValue;
}
#endif // of HAVE_SVN_CLIENT_H
bool SGTerraSync::SvnThread::syncTreeExternal(const char* dir) bool SGTerraSync::SvnThread::syncTreeExternal(const char* dir)
{ {
ostringstream buf; ostringstream buf;
@ -662,107 +515,6 @@ void SGTerraSync::SvnThread::syncPath(const WaitingTile& next)
_busy = false; _busy = false;
} }
#if defined(HAVE_SVN_CLIENT_H)
// Configure our subversion session
int SGTerraSync::SvnThread::svnClientSetup(void)
{
// Are we already prepared?
if (_svn_pool) return EXIT_SUCCESS;
// No, so initialize svn internals generally
#ifdef _MSC_VER
// there is a segfault when providing an error stream.
// Apparently, calling setvbuf with a nul buffer is
// not supported under msvc 7.1 ( code inside svn_cmdline_init )
if (svn_cmdline_init("terrasync", 0) != EXIT_SUCCESS)
return EXIT_FAILURE;
// revert locale setting
setlocale(LC_ALL,"C");
#else
/* svn_cmdline_init configures the locale. Setup environment to ensure the
* default "C" locale remains active, since fgfs isn't locale aware - especially
* requires "." as decimal point in strings containing floating point varibales. */
setenv("LC_ALL", "C", 1);
if (svn_cmdline_init("terrasync", stderr) != EXIT_SUCCESS)
return EXIT_FAILURE;
#endif
apr_pool_t *pool = NULL;
apr_allocator_t* allocator = NULL;
int aprErr = apr_allocator_create(&allocator);
if (aprErr != APR_SUCCESS)
return EXIT_FAILURE;
apr_pool_create_ex(&pool, NULL /* parent pool */, NULL /* abort func */, allocator);
svn_error_t *err = NULL;
SVN_VERSION_DEFINE(_svn_version);
err = svn_ver_check_list(&_svn_version, mysvn_checklist);
if (err)
return svn_cmdline_handle_exit_error(err, pool, "fgfs: ");
err = svn_ra_initialize(pool);
if (err)
return svn_cmdline_handle_exit_error(err, pool, "fgfs: ");
char *config_dir = NULL;
err = svn_config_ensure(config_dir, pool);
if (err)
return svn_cmdline_handle_exit_error(err, pool, "fgfs: ");
err = svn_client_create_context(&_svn_ctx, pool);
if (err)
return svn_cmdline_handle_exit_error(err, pool, "fgfs: ");
err = svn_config_get_config(&(_svn_ctx->config),
config_dir, pool);
if (err)
return svn_cmdline_handle_exit_error(err, pool, "fgfs: ");
svn_config_t *cfg;
cfg = ( svn_config_t*) apr_hash_get(
_svn_ctx->config,
SVN_CONFIG_CATEGORY_CONFIG,
APR_HASH_KEY_STRING);
if (err)
return svn_cmdline_handle_exit_error(err, pool, "fgfs: ");
svn_auth_baton_t *ab=NULL;
#if (SVN_VER_MINOR >= 6)
err = svn_cmdline_create_auth_baton (&ab,
TRUE, NULL, NULL, config_dir, TRUE, FALSE, cfg,
_svn_ctx->cancel_func, _svn_ctx->cancel_baton, pool);
#else
err = svn_cmdline_setup_auth_baton(&ab,
TRUE, NULL, NULL, config_dir, TRUE, cfg,
_svn_ctx->cancel_func, _svn_ctx->cancel_baton, pool);
#endif
if (err)
return svn_cmdline_handle_exit_error(err, pool, "fgfs: ");
_svn_ctx->auth_baton = ab;
#if (SVN_VER_MINOR >= 5)
_svn_ctx->conflict_func = NULL;
_svn_ctx->conflict_baton = NULL;
#endif
// Now our magic revisions
_svn_rev = (svn_opt_revision_t*) apr_palloc(pool,
sizeof(svn_opt_revision_t));
if (!_svn_rev)
return EXIT_FAILURE;
_svn_rev_peg = (svn_opt_revision_t*) apr_palloc(pool,
sizeof(svn_opt_revision_t));
if (!_svn_rev_peg)
return EXIT_FAILURE;
_svn_rev->kind = svn_opt_revision_head;
_svn_rev_peg->kind = svn_opt_revision_unspecified;
// Success if we got this far
_svn_pool = pool;
return EXIT_SUCCESS;
}
#endif // of defined(HAVE_SVN_CLIENT_H)
void SGTerraSync::SvnThread::initCompletedTilesPersistentCache() void SGTerraSync::SvnThread::initCompletedTilesPersistentCache()
{ {
if (!_persistentCachePath.exists()) { if (!_persistentCachePath.exists()) {
@ -858,14 +610,9 @@ void SGTerraSync::reinit()
_svnThread->setRsyncServer(_terraRoot->getStringValue("rsync-server","")); _svnThread->setRsyncServer(_terraRoot->getStringValue("rsync-server",""));
_svnThread->setLocalDir(_terraRoot->getStringValue("scenery-dir","")); _svnThread->setLocalDir(_terraRoot->getStringValue("scenery-dir",""));
_svnThread->setAllowedErrorCount(_terraRoot->getIntValue("max-errors",5)); _svnThread->setAllowedErrorCount(_terraRoot->getIntValue("max-errors",5));
#if defined(HAVE_SVN_CLIENT_H) || defined(SG_SVN_CLIENT)
_svnThread->setUseBuiltin(_terraRoot->getBoolValue("use-built-in-svn",true)); _svnThread->setUseBuiltin(_terraRoot->getBoolValue("use-built-in-svn",true));
_svnThread->setCachePath(SGPath(_terraRoot->getStringValue("cache-path",""))); _svnThread->setCachePath(SGPath(_terraRoot->getStringValue("cache-path","")));
_svnThread->setCacheHits(_terraRoot->getIntValue("cache-hit", 0)); _svnThread->setCacheHits(_terraRoot->getIntValue("cache-hit", 0));
#else
_terraRoot->setBoolValue("use-built-in-svn",false);
#endif
_svnThread->setUseSvn(_terraRoot->getBoolValue("use-svn",true)); _svnThread->setUseSvn(_terraRoot->getBoolValue("use-svn",true));
_svnThread->setExtSvnUtility(_terraRoot->getStringValue("ext-svn-utility","svn")); _svnThread->setExtSvnUtility(_terraRoot->getStringValue("ext-svn-utility","svn"));

View File

@ -1,163 +0,0 @@
/* simgear_config.h. Generated for MSCV++ 9.0 */
/* Define if the X Window System is missing or not being used. */
#define X_DISPLAY_MISSING 1
/* Define to empty if the keyword does not work. */
/* #undef const */
/* Define if you don't have vprintf but do have _doprnt. */
/* #undef HAVE_DOPRNT */
/* Define if you have the vprintf function. */
#define HAVE_VPRINTF 1
/* Define to package name */
#define PACKAGE "FlightGear"
/* Define as the return type of signal handlers (int or void). */
#define RETSIGTYPE void
/* Define to `unsigned' if <sys/types.h> doesn't define. */
/* #undef size_t */
/* Define if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define if you can safely include both <sys/time.h> and <time.h>. */
/* #undef TIME_WITH_SYS_TIME */
/* Define if your <sys/time.h> declares struct tm. */
/* #define TM_IN_SYS_TIME 1 */
/* Define to version number */
#define VERSION "2.3.0"
/* Define if compiling on a Winbloze (95, NT, etc.) platform */
#define WIN32 1
/* Define if you have the GetLocalTime function. */
#define HAVE_GETLOCALTIME 1
/* Define if you have the ftime function. */
/* #define HAVE_FTIME 1 */
/* Define if you have the getitimer function. */
/* #define HAVE_GETITIMER 1 */
/* Define if you have the getrusage function. */
/* #define HAVE_GETRUSAGE 1 */
/* Define if you have the gettimeofday function. */
/* #define HAVE_GETTIMEOFDAY 1 */
/* Define if you have the mktime function. */
#define HAVE_MKTIME 1
/* Define if you have the rand function. */
#define HAVE_RAND 1
/* Define if you have the random function. */
#define HAVE_RANDOM 1
/* Define if you have the rint function. */
/* #define HAVE_RINT 1 */
/* Define if you have the setitimer function. */
/* #define HAVE_SETITIMER 1 */
/* Define if you have the signal function. */
#define HAVE_SIGNAL 1
/* Define if you have the strstr function. */
#define HAVE_STRSTR 1
/* Define if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define if you have the <getopt.h> header file. */
/* #define HAVE_GETOPT_H 1 */
/* Define if you have the <malloc.h> header file. */
#define HAVE_MALLOC_H 1
/* Define if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define if you have the <sys/time.h> header file. */
/* #define HAVE_SYS_TIME_H 1 */
/* Define if you have the <sys/timeb.h> header file. */
#define HAVE_SYS_TIMEB_H 1
/* Define if you have the <unistd.h> header file. */
/* #define HAVE_UNISTD_H 1 */
/* Define if you have the <values.h> header file. */
/* #define HAVE_VALUES_H 1 */
/* Define if you have the <winbase.h> header file. */
#define HAVE_WINBASE_H 1
/* Define if you have the <windows.h> header file. */
#define HAVE_WINDOWS_H 1
/* Define if you have the GL library (-lGL). */
#define HAVE_LIBGL 1
/* Define if you have the GLU library (-lGLU). */
#define HAVE_LIBGLU 1
/* Define if you have the GLcore library (-lGLcore). */
/* #undef HAVE_LIBGLCORE */
/* Define if you have the ICE library (-lICE). */
/* #define HAVE_LIBICE 1 */
/* Define if you have the MesaGL library (-lMesaGL). */
/* #undef HAVE_LIBMESAGL */
/* Define if you have the MesaGLU library (-lMesaGLU). */
/* #undef HAVE_LIBMESAGLU */
/* Define if you have the SM library (-lSM). */
/* #define HAVE_LIBSM 1 */
/* Define if you have the X11 library (-lX11). */
/* #define HAVE_LIBX11 1 */
/* Define if you have the Xext library (-lXext). */
/* #define HAVE_LIBXEXT 1 */
/* Define if you have the Xi library (-lXi). */
/* #define HAVE_LIBXI 1 */
/* Define if you have the Xmu library (-lXmu). */
/* #define HAVE_LIBXMU 1 */
/* Define if you have the Xt library (-lXt). */
/* #define HAVE_LIBXT 1 */
/* Define if you have the glut library (-lglut). */
#define HAVE_LIBGLUT 1
/* Define if you have the m library (-lm). */
#define HAVE_LIBM 1
/* Define if you have the socket library (-lsocket). */
/* #undef HAVE_LIBSOCKET */
/* Define if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
#define HAVE_MEMCPY 1
#define HAVE_DAYLIGHT 1
#define GLUT_H <GL/glut.h>
#define NOMINMAX 1
#ifndef _M_X64
#define HAVE_SVN_CLIENT_H 1
#define HAVE_LIBSVN_CLIENT_1 1
#endif // _M_AMD64

View File

@ -14,12 +14,7 @@
#cmakedefine HAVE_WINDOWS_H #cmakedefine HAVE_WINDOWS_H
#cmakedefine HAVE_MKDTEMP #cmakedefine HAVE_MKDTEMP
#cmakedefine HAVE_SVN_CLIENT_H
#cmakedefine HAVE_LIBSVN_CLIENT_1
#cmakedefine GCC_ATOMIC_BUILTINS_FOUND #cmakedefine GCC_ATOMIC_BUILTINS_FOUND
#cmakedefine SYSTEM_EXPAT #cmakedefine SYSTEM_EXPAT
#cmakedefine ENABLE_SOUND #cmakedefine ENABLE_SOUND
#cmakedefine SG_SVN_CLIENT