mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-23 02:14:50 +00:00
Scons: add SIZEOF_WCHAR_T
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14997 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
5889f636c0
commit
dd0e06b339
@ -653,6 +653,7 @@ conf = Configure(env,
|
||||
'CheckCXXGlobalCstd' : utils.checkCXXGlobalCstd,
|
||||
'CheckLC_MESSAGES' : utils.checkLC_MESSAGES,
|
||||
'CheckIconvConst' : utils.checkIconvConst,
|
||||
'CheckSizeOfWChar' : utils.checkSizeOfWChar,
|
||||
}
|
||||
)
|
||||
|
||||
@ -981,6 +982,13 @@ if not fast_start or not os.path.isfile(boost_config_h) \
|
||||
# check arg types of select function
|
||||
(select_arg1, select_arg234, select_arg5) = conf.CheckSelectArgType()
|
||||
|
||||
# check the size of wchar_t
|
||||
sizeof_wchar_t = conf.CheckSizeOfWChar()
|
||||
# something wrong
|
||||
if sizeof_wchar_t == 0:
|
||||
print 'Error: Can not determine the size of wchar_t.'
|
||||
Exit(1)
|
||||
|
||||
#
|
||||
# create config.h
|
||||
result = utils.createConfigFile(conf,
|
||||
@ -1148,6 +1156,8 @@ int count()
|
||||
"Define to the type of arg 2, 3, 4 for `select'."),
|
||||
('#define SELECT_TYPE_ARG5 %s' % select_arg5,
|
||||
"Define to the type of arg 5 for `select'."),
|
||||
('#define SIZEOF_WCHAR_T %d' % sizeof_wchar_t,
|
||||
'Define to be the size of type wchar_t'),
|
||||
],
|
||||
config_post = '''/************************************************************
|
||||
** You should not need to change anything beyond this point */
|
||||
@ -1281,7 +1291,9 @@ int mkstemp(char*);
|
||||
),
|
||||
],
|
||||
extra_items = [
|
||||
('#define HAVE_ICONV 1', 'Define if iconv or libiconv is found')
|
||||
('#define HAVE_ICONV 1', 'Define if iconv or libiconv is found'),
|
||||
('#define SIZEOF_WCHAR_T %d' % sizeof_wchar_t,
|
||||
'Define to be the size of type wchar_t'),
|
||||
],
|
||||
config_post = '#endif'
|
||||
)
|
||||
|
@ -255,6 +255,26 @@ int main() {
|
||||
return ret
|
||||
|
||||
|
||||
def checkSizeOfWChar(conf):
|
||||
''' check the size of wchar '''
|
||||
check_sizeof_wchar = '''
|
||||
int i[ ( sizeof(wchar_t)==%d ? 1 : -1 ) ];
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
'''
|
||||
conf.Message('Check the size of wchar_t... ')
|
||||
if conf.TryLink(check_sizeof_wchar % 2, '.cpp'):
|
||||
ret = 2
|
||||
elif conf.TryLink(check_sizeof_wchar % 4, '.cpp'):
|
||||
ret = 4
|
||||
else:
|
||||
ret = 0
|
||||
conf.Result(str(ret))
|
||||
return ret
|
||||
|
||||
|
||||
def createConfigFile(conf, config_file,
|
||||
config_pre = '', config_post = '',
|
||||
headers = [], functions = [], types = [], libs = [],
|
||||
|
Loading…
Reference in New Issue
Block a user