diff options
| author | 2023-09-23 08:50:44 -0700 | |
|---|---|---|
| committer | 2023-09-23 08:53:37 -0700 | |
| commit | 2f4a6214a27d0eac040b9f6e23c4086e1588950a (patch) | |
| tree | d7fdf493dc11ec58c5f867b2d5116273642ec08b /meson.build | |
| parent | Add optional buffer-size to file/open. (diff) | |
Make meson build work on windows.
By default, use more traditional linking pattern with meson.
The janet.exe will now link to janet-x.x.dll on windows (and
similar for linux/posix) when built with meson. This is slightly
less efficient and means that janet.exe built this way is no longer
standalone (you would need to move the dll along with the exe), but
plays better with most build systems.
Diffstat (limited to 'meson.build')
| -rw-r--r-- | meson.build | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/meson.build b/meson.build index 807f4d97..84fe4da9 100644 --- a/meson.build +++ b/meson.build @@ -182,23 +182,30 @@ if not get_option('single_threaded') janet_dependencies += thread_dep endif +if cc.has_argument('-fvisibility=hidden') + lib_cflags = ['-fvisibility=hidden'] +else + lib_cflags = [] +endif libjanet = library('janet', janetc, include_directories : incdir, dependencies : janet_dependencies, version: meson.project_version(), soversion: version_parts[0] + '.' + version_parts[1], + c_args : lib_cflags, install : true) # Extra c flags - adding -fvisibility=hidden matches the Makefile and # shaves off about 10k on linux x64, likely similar on other platforms. if cc.has_argument('-fvisibility=hidden') - extra_cflags = ['-fvisibility=hidden'] + extra_cflags = ['-fvisibility=hidden', '-DJANET_DLL_IMPORT'] else - extra_cflags = [] + extra_cflags = ['-DJANET_DLL_IMPORT'] endif -janet_mainclient = executable('janet', janetc, mainclient_src, +janet_mainclient = executable('janet', mainclient_src, include_directories : incdir, dependencies : janet_dependencies, + link_with: [libjanet], c_args : extra_cflags, install : true) |
