]> git.lyx.org Git - lyx.git/blobdiff - development/scons/SConstruct
TR1: move TR1 check to config.h / buildsystem
[lyx.git] / development / scons / SConstruct
index f13744fb2bce0927fe5402f3f2150fbea0aa9f97..c4135706ec9a6105d995dac92d2ccdfbf1d5d6aa 100644 (file)
@@ -136,7 +136,7 @@ opts.AddVariables(
             ) ),
     #
     EnumVariable('spell', 'Choose spell checker to use.', 'auto',
-               allowed_values = ('aspell', 'hunspell', 'auto', 'no') ),
+               allowed_values = ('aspell', 'enchant', 'hunspell', 'auto', 'no') ),
     # packaging method
     EnumVariable('packaging', 'Packaging method to use.', default_packaging_method,
         allowed_values = ('windows', 'posix', 'macosx')),
@@ -411,6 +411,7 @@ if platform_name == 'win32':
 # hard-coded options are required and will always be there
 # default options can be replaced by enviromental variables or command line options
 CCFLAGS_required = []
+CXXFLAGS_required = []
 LINKFLAGS_required = []
 CCFLAGS_default = []
 
@@ -420,6 +421,7 @@ if use_vc:
     #   in the current code page (number)
     # C4996: foo was decleared deprecated
     CCFLAGS_required.append('/EHsc')
+    CXXFLAGS_required.append('/Zc:wchar_t-')
     if mode == 'debug':
         CCFLAGS_default.extend(['/wd4819', '/wd4996', '/nologo', '/MDd'])
     else:
@@ -514,7 +516,7 @@ setEnvVariable(env, 'CPP')
 setEnvVariable(env, 'CXX')
 setEnvVariable(env, 'CXXCPP')
 setEnvVariable(env, 'CCFLAGS', CCFLAGS_required, CCFLAGS_default)
-setEnvVariable(env, 'CXXFLAGS')
+setEnvVariable(env, 'CXXFLAGS', CXXFLAGS_required)
 setEnvVariable(env, 'CPPFLAGS')
 setEnvVariable(env, 'LINKFLAGS', LINKFLAGS_required)
 
@@ -740,7 +742,6 @@ utils.createConfigFile(conf,
         ('ostream', 'HAVE_OSTREAM', 'cxx'),
         ('locale', 'HAVE_LOCALE', 'cxx'),
         ('sstream', 'HAVE_SSTREAM', 'cxx'),
-        #('newapis.h', 'HAVE_NEWAPIS_H', 'c'),
     ],
     custom_tests = [
         (env.has_key('assertions') and env['assertions'] and mode == 'debug',
@@ -775,10 +776,6 @@ utils.createConfigFile(conf,
 
 #define BOOST_ALL_NO_LIB 1
 
-#if defined(HAVE_NEWAPIS_H)
-#  define WANT_GETFILEATTRIBUTESEX_WRAPPER 1
-#endif
-
 /*
  * the FreeBSD libc uses UCS4, but libstdc++ has no proper wchar_t
  * support compiled in:
@@ -810,8 +807,14 @@ else:
 # determine headers to use
 spell_opt = ARGUMENTS.get('spell', 'auto')
 env['USE_ASPELL'] = False
+env['USE_ENCHANT'] = False
+env['USE_HUNSPELL'] = False
 if spell_opt in ['auto', 'aspell'] and conf.CheckLib(aspell_lib):
     spell_engine = 'USE_ASPELL'
+elif spell_opt in ['auto', 'enchant'] and conf.CheckLib('enchant'):
+    spell_engine = 'USE_ENCHANT'
+elif spell_opt in ['auto', 'hunspell'] and conf.CheckLib('hunspell'):
+    spell_engine = 'USE_HUNSPELL'
 else:
     spell_engine = None
 
@@ -1069,7 +1072,7 @@ char * strerror(int n);
 )
 
 # these keys are needed in env
-for key in ['USE_ASPELL', 'HAVE_FCNTL',\
+for key in ['USE_ASPELL', 'USE_ENCHANT', 'USE_HUNSPELL', 'HAVE_FCNTL',\
     'HAVE_LIBGDI32', 'HAVE_LIBAIKSAURUS', 'AIKSAURUS_LIB']:
     # USE_ASPELL etc does not go through result
     if result.has_key(key):
@@ -1227,6 +1230,8 @@ libs = [
     ('HAVE_LIBGDI32', 'gdi32'),
     ('HAVE_LIBAIKSAURUS', env['AIKSAURUS_LIB']),
     ('USE_ASPELL', aspell_lib),
+    ('USE_ENCHANT', 'enchant'),
+    ('USE_HUNSPELL', 'hunspell')
 ]
 
 for lib in libs:
@@ -1547,6 +1552,10 @@ Alias('tex2lyx', tex2lyx)
 #
 if env.has_key('USE_ASPELL') and env['USE_ASPELL']:
     src_post_files.append('AspellChecker.cpp')
+elif env.has_key('USE_ENCHANT') and env['USE_ENCHANT']:
+    src_post_files.append('EnchantChecker.cpp')
+elif env.has_key('USE_HUNSPELL') and env['USE_HUNSPELL']:
+    src_post_files.append('HunspellChecker.cpp')
 
 # tells scons how to get these moced files, although not all moced files are needed
 # (or are actually generated).
@@ -1884,6 +1893,7 @@ if 'install' in BUILD_TARGETS or 'installer' in BUILD_TARGETS:
             ('doc/sv', lib_doc_sv_files),
             ('doc/uk', lib_doc_uk_files),
             ('doc/uk/clipart', lib_doc_uk_clipart_files),
+            ('doc/zh_CN', lib_doc_zhCN_files),
             ('examples', lib_examples_files),
             ('examples/ca', lib_examples_ca_files),
             ('examples/cs', lib_examples_cs_files),
@@ -1904,6 +1914,7 @@ if 'install' in BUILD_TARGETS or 'installer' in BUILD_TARGETS:
             ('examples/pt', lib_examples_pt_files),
             ('examples/ro', lib_examples_ro_files),
             ('examples/ru', lib_examples_ru_files),
+            ('examples/sk', lib_examples_sk_files),
             ('examples/sl', lib_examples_sl_files),
             ('examples/uk', lib_examples_uk_files),
             ('fonts', lib_fonts_files),
@@ -1915,6 +1926,7 @@ if 'install' in BUILD_TARGETS or 'installer' in BUILD_TARGETS:
             ('lyx2lyx', lib_lyx2lyx_files),
             ('scripts', lib_scripts_files),
             ('templates', lib_templates_files),
+            ('templates/thesis', lib_templates_thesis_files),
             ('tex', lib_tex_files),
             ('ui', lib_ui_files)]:
         dirs.append(env.Install(os.path.join(share_dest_dir, dir),