mirror of
https://gitlab.redox-os.org/redox-os/redox.git
synced 2026-06-24 05:44:17 +08:00
Merge branch 'libxcursor_so' into 'master'
libxcursor + .so See merge request redox-os/cookbook!612
This commit is contained in:
commit
a71d1b3beb
@ -1,10 +1,92 @@
|
||||
#TODO make dependencies work
|
||||
[source]
|
||||
tar = "https://www.x.org/releases/individual/lib/libXcursor-1.2.1.tar.xz"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
autotools_recursive_regenerate
|
||||
"""
|
||||
|
||||
[build]
|
||||
template = "configure"
|
||||
dependencies = [
|
||||
"libx11",
|
||||
"libxcb",
|
||||
"libxfixes",
|
||||
"libxrender",
|
||||
"x11proto",
|
||||
"x11proto-kb",
|
||||
"libxrender",
|
||||
"xcb-proto",
|
||||
"libxau",
|
||||
"libpthread-stubs",
|
||||
]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
|
||||
# Force libtool to build shared libraries for Redox
|
||||
# Override libtool's platform detection
|
||||
export lt_cv_deplibs_check_method=pass_all
|
||||
export ac_cv_lib_dl_dlopen=yes
|
||||
export enable_shared=yes
|
||||
export enable_static=yes
|
||||
|
||||
#Configure with shared library support
|
||||
"${COOKBOOK_CONFIGURE}" \
|
||||
--host="${GNU_TARGET}" \
|
||||
--prefix="/usr" \
|
||||
--enable-shared \
|
||||
--enable-static \
|
||||
--with-pic \
|
||||
ac_cv_search_sendmsg=no \
|
||||
lt_cv_prog_compiler_pic="-fPIC" \
|
||||
lt_cv_prog_compiler_pic_works=yes
|
||||
|
||||
# Build
|
||||
"${COOKBOOK_MAKE}"
|
||||
|
||||
#After make, manually create the shared library if libtool didn't
|
||||
if [ ! -f src/.libs/libXcursor.so ]; then
|
||||
echo "Creating shared library manually..."
|
||||
cd src/.libs
|
||||
# Extract all object files from the static library
|
||||
${GNU_TARGET}-ar x libXcursor.a
|
||||
# Create the shared library from the object files
|
||||
${GNU_TARGET}-gcc -shared -fPIC -o libXcursor.so.1.0.2 *.o \
|
||||
-L${COOKBOOK_SYSROOT}/lib -L${COOKBOOK_SYSROOT}/usr/lib \
|
||||
-lXfixes -lXrender -lX11 -lxcb -lXau
|
||||
# Create symlinks
|
||||
ln -sf libXcursor.so.1.0.2 libXcursor.so.1
|
||||
ln -sf libXcursor.so.1 libXcursor.so
|
||||
cd ../..
|
||||
fi
|
||||
|
||||
"${COOKBOOK_MAKE}" install DESTDIR="${COOKBOOK_STAGE}"
|
||||
|
||||
# Also copy the shared libraries if they exist
|
||||
if [ -f src/.libs/libXcursor.so.1.0.2 ]; then
|
||||
mkdir -p "${COOKBOOK_STAGE}/usr/lib"
|
||||
cp -P src/.libs/libXcursor.so* "${COOKBOOK_STAGE}/usr/lib/"
|
||||
fi
|
||||
"""
|
||||
|
||||
|
||||
# script = """
|
||||
|
||||
# # this /usr/share/pkgconfig comes from x11proto, that stages pc files in wrong dir.
|
||||
# export PKG_CONFIG_PATH="${COOKBOOK_SYSROOT}/lib/pkgconfig"
|
||||
# #:${COOKBOOK_SYSROOT}/usr/lib/pkgconfig:${COOKBOOK_SYSROOT}/usr/share/pkgconfig"
|
||||
# export PKG_CONFIG_LIBDIR="${COOKBOOK_SYSROOT}/lib/pkgconfig"
|
||||
# #:${COOKBOOK_SYSROOT}/usr/lib/pkgconfig"
|
||||
# export PKG_CONFIG_SYSROOT_DIR="${COOKBOOK_SYSROOT}"
|
||||
|
||||
# rsync -a "${COOKBOOK_SOURCE}/" ./
|
||||
|
||||
# # I'm tired trying figure out why multiple pkgconfig paths are ignored by cargo building stuff
|
||||
# # rsync -a -v ${COOKBOOK_SYSROOT}/usr/share/pkgconfig/*.pc ${COOKBOOK_SYSROOT}/lib/pkgconfig/
|
||||
# rsync -a -v ${COOKBOOK_SYSROOT}/usr/lib/pkgconfig/*.pc ${COOKBOOK_SYSROOT}/lib/pkgconfig/
|
||||
|
||||
# echo "listing ${COOKBOOK_SYSROOT}/lib/pkgconfig"
|
||||
# ls -al ${COOKBOOK_SYSROOT}/lib/pkgconfig
|
||||
|
||||
# cookbook_configure
|
||||
# """
|
||||
|
||||
Loading…
Reference in New Issue
Block a user