comparison setup.py @ 31:baeb8bdeff3a

Fortify sources using _FORTIFY_SOURCE=3 and also apply -fno-delete-null-pointer-checks. See: https://github.com/ossf/wg-best-practices-os-developers/issues/659.
author Franz Glasner <fzglas.hg@dom66.de>
date Sun, 21 Sep 2025 13:11:30 +0200
parents f76e6575dca9
children 14b91574d44a
comparison
equal deleted inserted replaced
30:fc4555a3097b 31:baeb8bdeff3a
965 # By predefining TOFU_CJK_EXT here, we don't need to modify 965 # By predefining TOFU_CJK_EXT here, we don't need to modify
966 # MuPDF's include/mupdf/fitz/config.h. 966 # MuPDF's include/mupdf/fitz/config.h.
967 log( f'Setting XCFLAGS and XCXXFLAGS to predefine TOFU_CJK_EXT.') 967 log( f'Setting XCFLAGS and XCXXFLAGS to predefine TOFU_CJK_EXT.')
968 env_add(env, 'XCFLAGS', '-DTOFU_CJK_EXT') 968 env_add(env, 'XCFLAGS', '-DTOFU_CJK_EXT')
969 env_add(env, 'XCXXFLAGS', '-DTOFU_CJK_EXT') 969 env_add(env, 'XCXXFLAGS', '-DTOFU_CJK_EXT')
970 fortify = os.environ.get('FORTIFY', '0')
971 if fortify != '0':
972 env_add(env, 'XCFLAGS', f'-D_FORTIFY_SOURCE={fortify}')
973 env_add(env, 'XCXXFLAGS', f'-D_FORTIFY_SOURCE={fortify}')
970 974
971 if openbsd or freebsd: 975 if openbsd or freebsd:
972 env_add(env, 'CXX', 'c++', ' ') 976 env_add(env, 'CXX', 'c++', ' ')
973 977
974 if darwin and os.environ.get('GITHUB_ACTIONS') == 'true': 978 if darwin and os.environ.get('GITHUB_ACTIONS') == 'true':
1190 mupdf_build_dir_flags = [build_type] 1194 mupdf_build_dir_flags = [build_type]
1191 optimise = 'release' in mupdf_build_dir_flags 1195 optimise = 'release' in mupdf_build_dir_flags
1192 debug = 'debug' in mupdf_build_dir_flags 1196 debug = 'debug' in mupdf_build_dir_flags
1193 r_extra = '' 1197 r_extra = ''
1194 defines = list() 1198 defines = list()
1199 fortify = os.environ.get('FORTIFY', '0')
1200 if fortify != '0':
1201 defines.append(f'_FORTIFY_SOURCE={fortify}')
1195 if windows: 1202 if windows:
1196 defines.append('FZ_DLL_CLIENT') 1203 defines.append('FZ_DLL_CLIENT')
1197 wp = pipcl.wdev.WindowsPython() 1204 wp = pipcl.wdev.WindowsPython()
1198 if os.environ.get('PYMUPDF_SETUP_MUPDF_VS_UPGRADE') == '1': 1205 if os.environ.get('PYMUPDF_SETUP_MUPDF_VS_UPGRADE') == '1':
1199 # MuPDF C++ build uses a parallel build tree with updated VS files. 1206 # MuPDF C++ build uses a parallel build tree with updated VS files.