Skip to content

Added libonly option to meson#1310

Open
rkd77 wants to merge 2 commits intoquickjs-ng:masterfrom
rkd77:master
Open

Added libonly option to meson#1310
rkd77 wants to merge 2 commits intoquickjs-ng:masterfrom
rkd77:master

Conversation

@rkd77
Copy link
Contributor

@rkd77 rkd77 commented Jan 7, 2026

I wanted only library for djgpp.
Compiler installed from rpm packages.

Here is the build script:

// mes.sh
rm -rf /tmp/builddir_qjs

PREFIX=/opt/qjs
DESTDIR=$HOME/qjs

LIBRARY_PATH="$PREFIX/lib"
PKG_CONFIG_PATH="$PREFIX/lib/pkgconfig"
C_INCLUDE_PATH="$PREFIX/include"
CFLAGS="-O2 -I$PREFIX/include"
CXXFLAGS="-O2 -I$PREFIX/include"
LDFLAGS="-L$PREFIX/lib"
meson setup /tmp/builddir_qjs --cross-file cross/linux-djgpp.ini \ -Dprefix=$PREFIX
-Dexamples=disabled
-Dlibc=false
-Dtests=disabled
-Dlibonly=true || exit 1

meson compile -C /tmp/builddir_qjs || exit 2

mkdir -p $DESTDIR
meson install -C /tmp/builddir_qjs --destdir $DESTDIR || exit 3

// linux-djgpp.ini
[binaries]
c = ['/usr/bin/i586-pc-msdosdjgpp-gcc', '-Wno-incompatible-pointer-types']
cpp = '/usr/bin/i586-pc-msdosdjgpp-g++'
objc = '/usr/bin/i586-pc-msdosdjgpp-gcc'
ar = '/usr/bin/i586-pc-msdosdjgpp-ar'
pkg-config = '/usr/bin/pkg-config'
strip = '/usr/bin/i586-pc-msdosdjgpp-strip'
exe_wrapper = '/bin/true'
ld = '/usr/bin/i586-pc-msdosdjgpp-ld'
cmake = '/usr/bin/cmake'

[properties]
root = '/usr/i586-pc-msdosdjgpp'
need_exe_wrapper = false

[host_machine]
system = 'dos'
cpu_family = 'x86'
cpu = 'i586'
endian = 'little'

[cmake]

CMAKE_BUILD_WITH_INSTALL_RPATH = 'ON'
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM = 'NEVER'
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY = 'ONLY'
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE = 'ONLY'
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE = 'ONLY'

@saghul
Copy link
Contributor

saghul commented Jan 7, 2026

Thank you! I'm going to hold off a bit since we have a larger PR modifying the meson build system currently in review and I think conflicts will arise.

@saghul
Copy link
Contributor

saghul commented Feb 9, 2026

Now that #1225 has landed, can you please rebase?

rkd77 added 2 commits February 9, 2026 16:53
    I wanted only library for djgpp.
    Compiler installed from rpm packages.

    Here is the build script:

    // mes.sh
    rm -rf /tmp/builddir_qjs

    PREFIX=/opt/qjs
    DESTDIR=$HOME/qjs

    LIBRARY_PATH="$PREFIX/lib" \
    PKG_CONFIG_PATH="$PREFIX/lib/pkgconfig" \
    C_INCLUDE_PATH="$PREFIX/include" \
    CFLAGS="-O2 -I$PREFIX/include" \
    CXXFLAGS="-O2 -I$PREFIX/include" \
    LDFLAGS="-L$PREFIX/lib" \
    meson setup /tmp/builddir_qjs --cross-file cross/linux-djgpp.ini \
    -Dprefix=$PREFIX \
    -Dexamples=disabled \
    -Dlibc=false \
    -Dtests=disabled \
    -Dlibonly=true || exit 1

    meson compile -C /tmp/builddir_qjs || exit 2

    mkdir -p $DESTDIR
    meson install -C /tmp/builddir_qjs --destdir $DESTDIR || exit 3

    // linux-djgpp.ini
    [binaries]
    c = ['/usr/bin/i586-pc-msdosdjgpp-gcc', '-Wno-incompatible-pointer-types']
    cpp = '/usr/bin/i586-pc-msdosdjgpp-g++'
    objc = '/usr/bin/i586-pc-msdosdjgpp-gcc'
    ar = '/usr/bin/i586-pc-msdosdjgpp-ar'
    pkg-config = '/usr/bin/pkg-config'
    strip = '/usr/bin/i586-pc-msdosdjgpp-strip'
    exe_wrapper = '/bin/true'
    ld = '/usr/bin/i586-pc-msdosdjgpp-ld'
    cmake = '/usr/bin/cmake'

    [properties]
    root = '/usr/i586-pc-msdosdjgpp'
    need_exe_wrapper = false

    [host_machine]
    system = 'dos'
    cpu_family = 'x86'
    cpu = 'i586'
    endian = 'little'

    [cmake]

    CMAKE_BUILD_WITH_INSTALL_RPATH     = 'ON'
    CMAKE_FIND_ROOT_PATH_MODE_PROGRAM  = 'NEVER'
    CMAKE_FIND_ROOT_PATH_MODE_LIBRARY  = 'ONLY'
    CMAKE_FIND_ROOT_PATH_MODE_INCLUDE  = 'ONLY'
    CMAKE_FIND_ROOT_PATH_MODE_PACKAGE  = 'ONLY'
@rkd77
Copy link
Contributor Author

rkd77 commented Feb 9, 2026

-Ddefault_library=static

@rkd77 rkd77 reopened this Feb 9, 2026
@rkd77
Copy link
Contributor Author

rkd77 commented Feb 9, 2026

It builds under Fedora, if add -Ddefault_library=static to build options given in commit log.

@saghul
Copy link
Contributor

saghul commented Feb 9, 2026

@BalkanMadman would you mind taking a look at this please?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants