Skip to content

Commit

Permalink
fixup! build: initial support for meson build system
Browse files Browse the repository at this point in the history
  • Loading branch information
mochaaP committed Feb 8, 2025
1 parent a5896a6 commit 24aba70
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 38 deletions.
2 changes: 0 additions & 2 deletions examples/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ shared_module(
gnu_symbol_visibility: 'default',
c_args: ['-DJS_SHARED_LIBRARY'],
dependencies: host_system == 'windows' ? qjs_dep : [],
link_args: host_system == 'darwin' ? ['-undefined', 'dynamic_lookup'] : [],
)

shared_module(
Expand All @@ -17,5 +16,4 @@ shared_module(
gnu_symbol_visibility: 'default',
c_args: ['-DJS_SHARED_LIBRARY'],
dependencies: host_system == 'windows' ? qjs_dep : [],
link_args: host_system == 'darwin' ? ['-undefined', 'dynamic_lookup'] : [],
)
49 changes: 13 additions & 36 deletions meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ project(
'warning_level=3',
'default_library=static',
],
meson_version: '>=0.62.0',
meson_version: '>=1.3.0',
)

host_system = host_machine.system()
Expand Down Expand Up @@ -110,10 +110,7 @@ qjs_libc_srcs = files('quickjs-libc.c')
qjs_libc_hdrs = files('quickjs-libc.h')

if qjs_libc
qjs_srcs += qjs_libc_srcs
qjs_hdrs += qjs_libc_hdrs

qjs_libc_srcs = []
endif

qjs_c_args = ['-D_GNU_SOURCE']
Expand All @@ -122,6 +119,15 @@ if host_system == 'windows'
qjs_c_args += ['-DWIN32_LEAN_AND_MEAN', '-D_WIN32_WINNT=0x0602']
endif

qjs_libc_lib = static_library(
'quickjs-libc',
qjs_libc_srcs,

dependencies: qjs_sys_deps,
c_args: qjs_c_args,
gnu_symbol_visibility: 'hidden',
)

qjs_lib = library(
'qjs',
qjs_srcs,
Expand All @@ -134,10 +140,9 @@ qjs_lib = library(
).process(qjs_hdrs),

dependencies: qjs_sys_deps,
link_whole: qjs_libc ? qjs_libc_lib : [],
c_args: qjs_c_args,
gnu_symbol_visibility: 'hidden',
implicit_include_directories: false,
include_directories: include_directories('.'),

install: true,
version: meson.project_version(),
Expand Down Expand Up @@ -168,8 +173,6 @@ if host_system == 'emscripten'
),
dependencies: m_dep,
c_args: qjs_c_args,
implicit_include_directories: false,
include_directories: include_directories('.'),
)
endif

Expand Down Expand Up @@ -215,12 +218,10 @@ qjsc_srcs = files(
qjsc_exe = executable(
'qjsc',
qjsc_srcs,
qjs_libc_srcs,

c_args: qjs_c_args,
link_with: qjs_libc ? [] : qjs_libc_lib,
dependencies: qjs_dep,
implicit_include_directories: false,
include_directories: include_directories('.'),

install: true,
)
Expand All @@ -243,13 +244,10 @@ qjs_exe_srcs = files(
qjs_exe = executable(
'qjs',
qjs_exe_srcs,
qjs_libc_srcs,

c_args: qjs_c_args,
link_with: qjs_libc ? [] : qjs_libc_lib,
dependencies: [qjs_dep, mimalloc_dep],
implicit_include_directories: false,
include_directories: include_directories('.'),
export_dynamic: host_system != 'windows',

install: true,
)
Expand Down Expand Up @@ -279,13 +277,10 @@ if meson.is_cross_build()
dependencies: qjs_sys_native_deps,
c_args: qjs_c_args,
gnu_symbol_visibility: 'hidden',
implicit_include_directories: false,
include_directories: include_directories('.'),

build_by_default: false,
native: true,
install: false,
version: meson.project_version(),
)

meson.override_find_program(
Expand All @@ -297,8 +292,6 @@ if meson.is_cross_build()
c_args: qjs_c_args,
link_with: qjs_native_lib,
dependencies: qjs_sys_native_deps,
implicit_include_directories: false,
include_directories: include_directories('.'),

build_by_default: false,
native: true,
Expand All @@ -314,8 +307,6 @@ if meson.is_cross_build()
c_args: qjs_c_args,
link_with: qjs_native_lib,
dependencies: [qjs_sys_native_deps, mimalloc_native_dep],
implicit_include_directories: false,
include_directories: include_directories('.'),

build_by_default: false,
native: true,
Expand All @@ -340,8 +331,6 @@ if tests.allowed()

c_args: qjs_c_args,
dependencies: qjs_dep,
implicit_include_directories: false,
include_directories: include_directories('.'),
)

test(
Expand Down Expand Up @@ -434,8 +423,6 @@ if tests.allowed()

c_args: qjs_c_args,
dependencies: qjs_dep,
implicit_include_directories: false,
include_directories: include_directories('.'),
),
)
endif
Expand All @@ -448,8 +435,6 @@ executable(
'unicode_gen.c',

c_args: qjs_c_args,
implicit_include_directories: false,
include_directories: include_directories('.'),
build_by_default: false,
)

Expand All @@ -460,8 +445,6 @@ executable(

c_args: qjs_c_args,
dependencies: qjs_dep,
implicit_include_directories: false,
include_directories: include_directories('.'),
)

if examples.allowed()
Expand All @@ -472,8 +455,6 @@ if examples.allowed()

c_args: qjs_c_args,
dependencies: qjs_dep,
implicit_include_directories: false,
include_directories: include_directories('.'),
)

executable(
Expand All @@ -483,8 +464,6 @@ if examples.allowed()

c_args: qjs_c_args,
dependencies: qjs_dep,
implicit_include_directories: false,
include_directories: include_directories('.'),
)

subdir('examples')
Expand All @@ -497,7 +476,5 @@ if examples.allowed()

c_args: qjs_c_args,
dependencies: qjs_dep,
implicit_include_directories: false,
include_directories: include_directories('.'),
)
endif

0 comments on commit 24aba70

Please sign in to comment.