mirror of
https://github.com/The-Powder-Toy/The-Powder-Toy.git
synced 2025-08-19 22:51:30 +02:00
Add workaround_gcc_no_pie option to force non-PIE output
Certain file managers need this figure out that the executable is actually executable. The problem is further complicated by meson being uncooperative and not implementing its own -Db_pie=false correctly.
This commit is contained in:
@@ -208,10 +208,13 @@ else
|
|||||||
'-fomit-frame-pointer',
|
'-fomit-frame-pointer',
|
||||||
]
|
]
|
||||||
endif
|
endif
|
||||||
if copt_platform == 'mac'
|
if copt_platform == 'mac' and uopt_static == 'prebuilt'
|
||||||
args_ccomp += [ '-mmacosx-version-min=10.9' ]
|
args_ccomp += [ '-mmacosx-version-min=10.9' ]
|
||||||
project_link_args += [ '-mmacosx-version-min=10.9' ]
|
project_link_args += [ '-mmacosx-version-min=10.9' ]
|
||||||
endif
|
endif
|
||||||
|
if copt_platform == 'lin' and not get_option('b_pie') and get_option('workaround_gcc_no_pie') # nice one, meson
|
||||||
|
project_link_args += [ '-no-pie' ]
|
||||||
|
endif
|
||||||
project_c_args += args_ccomp
|
project_c_args += args_ccomp
|
||||||
project_cpp_args += args_ccomp + [ '-Wno-invalid-offsetof' ]
|
project_cpp_args += args_ccomp + [ '-Wno-invalid-offsetof' ]
|
||||||
endif
|
endif
|
||||||
|
@@ -165,3 +165,9 @@ option(
|
|||||||
value: '',
|
value: '',
|
||||||
description: 'Update server, only used by snapshots and mods, see \'snapshot_id\' and \'mod_id\''
|
description: 'Update server, only used by snapshots and mods, see \'snapshot_id\' and \'mod_id\''
|
||||||
)
|
)
|
||||||
|
option(
|
||||||
|
'workaround_gcc_no_pie',
|
||||||
|
type: 'boolean',
|
||||||
|
value: true,
|
||||||
|
description: 'Pass -no-pie to gcc manually to work around meson\'s -Db_pie=false doing nothing'
|
||||||
|
)
|
||||||
|
Reference in New Issue
Block a user