Changeset 25e1490 in mainline
- Timestamp:
- 2024-01-10T11:32:40Z (12 months ago)
- Branches:
- master
- Children:
- 5907aa4
- Parents:
- de96d3b (diff), 6deab5a (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - git-author:
- Vojtech Horky <vojtech.horky@…> (2024-01-10 11:32:40)
- git-committer:
- GitHub <noreply@…> (2024-01-10 11:32:40)
- Files:
-
- 1 added
- 7 edited
- 4 moved
Legend:
- Unmodified
- Added
- Removed
-
meson.build
rde96d3b r25e1490 72 72 install_files = [] 73 73 install_deps = [] 74 75 # Exported libraries and include files 76 # Format: [ type, source_file, destination ] 77 # See meson/part/exports/copy-export.sh for supported file types. 78 exported_devel_files = [ 79 [ 'includenamedsymlink', 'libc', 'common' ] 80 ] 81 74 82 # Install script for headers. 75 83 # TODO: Make a list of directories and turn into script later. -
meson/part/exports/meson.build
rde96d3b r25e1490 85 85 capture: true, 86 86 ) 87 88 run_target('export-dev', 89 command: [ 90 sh, 91 meson.source_root() / 'meson' / 'part' / 'exports' / 'copy-export.sh', 92 ] + [ 93 'config', config_mk, 'config.mk', 94 'config', config_sh, 'config.sh', 95 ] + exported_devel_files 96 ) -
tools/xcw/bin/helenos-pkg-config
rde96d3b r25e1490 1 #!/bin/bash 1 #!/usr/bin/env python3 2 2 3 # 3 # Copyright (c) 202 0 Jiri Svoboda4 # Copyright (c) 2024 Vojtech Horky 4 5 # All rights reserved. 5 6 # … … 32 33 # 33 34 34 XCW="$(dirname "$0")"35 BUILD_ROOT="$(dirname "$(dirname "$(dirname "$XCW")")")"36 if [ -z "$EXPORT_DIR" ]; then37 EXPORT_DIR="$BUILD_ROOT/export"38 fi39 35 40 INCLUDE_DIR="$EXPORT_DIR/include" 41 LIB_DIR="$EXPORT_DIR/lib" 36 import argparse 37 import os 38 import sys 42 39 43 libmath_cflags="-I$INCLUDE_DIR/libmath" 44 libmath_libs="$LIB_DIR/libmath.a" 40 # Package dependencies: always list only immediate dependencies so that 41 # we can get proper ordering for static libraries 42 CONFIG_DEPENDENCIES = { 43 'libui': ['libdisplay', 'libcongfx', 'libgfxfont', 'libriff', 'libmemgfx', 'libconsole'], 44 'libdisplay': ['libgfx', 'libipcgfx', 'libinput'], 45 'libconsole': ['libinput', 'liboutput'], 46 'libipcfgfx': ['libgfx'], 47 'libgfximage': ['libpixconv'], 48 } 45 49 46 libui_cflags="-I$INCLUDE_DIR/libui -I$INCLUDE_DIR/libdisplay -I$INCLUDE_DIR/libgfx -I$INCLUDE_DIR/libipcgfx -I$INCLUDE_DIR/libcongfx" 47 libui_libs="$LIB_DIR/libui.a $LIB_DIR/libdisplay.a $LIB_DIR/libipcgfx.a $LIB_DIR/libcongfx.a $LIB_DIR/libgfx.a $LIB_DIR/libgfxfont.a $LIB_DIR/libriff.a $LIB_DIR/libmemgfx.a" 50 CONFIG_CFLAGS = { 51 } 48 52 49 libgfximage_cflags="-I$INCLUDE_DIR/libgfximage" 50 libgfximage_libs="$LIB_DIR/libgfximage.a $LIB_DIR/libpixconv.a" 53 CONFIG_LIBS = { 54 } 51 55 52 libhound_cflags="-I$INCLUDE_DIR/libhound" 53 libhound_libs="$LIB_DIR/libhound.a" 56 def get_with_dependencies(package, dependencies_first=True): 57 deps = CONFIG_DEPENDENCIES.get(package, []) 58 all_deps = [ 59 i 60 for d in deps 61 for i in get_with_dependencies(d, dependencies_first) 62 ] 63 result = (all_deps if dependencies_first else []) + [package] + ([] if dependencies_first else all_deps) 64 seen = set() 65 return [ 66 i 67 for i in result 68 if not (i in seen or seen.add(i)) 69 ] 54 70 55 libpcm_cflags="-I$INCLUDE_DIR/libpcm" 56 libpcm_libs="$LIB_DIR/libpcm.a" 71 def get_build_root(): 72 dn = lambda x : os.path.dirname(x) 73 return dn(dn(dn(dn(os.path.abspath(sys.argv[0]))))) 57 74 58 libgfx_cflags="-I$INCLUDE_DIR/libgfx" 59 libgfx_libs="$LIB_DIR/libgfx.a" 75 def main(): 76 args = argparse.ArgumentParser(description='pkg-config-like tool for HelenOS') 77 args.add_argument( 78 '--cflags', 79 dest='cflags', 80 action='store_true', 81 default=False, 82 help='Print required C compiler flags to stdout.' 83 ) 84 args.add_argument( 85 '--libs', 86 dest='libs', 87 action='store_true', 88 default=False, 89 help='Print required linker flags to stdout.' 90 ) 91 args.add_argument('packages', metavar='PACKAGE', nargs='+') 60 92 61 libipcgfx_cflags="-I$INCLUDE_DIR/libipcgfx" 62 libipcgfx_libs="$LIB_DIR/libipcgfx.a" 93 config = args.parse_args() 63 94 64 libdisplay_cflags="-I$INCLUDE_DIR/libdisplay" 65 libdisplay_libs="$LIB_DIR/libdisplay.a" 95 export_dir = os.getenv('EXPORT_DIR', get_build_root()) 66 96 67 action=none 68 pkg= 97 result = [] 98 for package in config.packages: 99 if config.cflags: 100 for i in get_with_dependencies(package, False): 101 if i in CONFIG_CFLAGS: 102 result.extend(CONFIG_CFLAGS[i]) 103 else: 104 result.append(f'-I{export_dir}/include/{i}') 105 if config.libs: 106 for i in get_with_dependencies(package, False): 107 if i in CONFIG_LIBS: 108 result.extend(CONFIG_LIBS[i]) 109 else: 110 result.append(f'{export_dir}/lib/{i}.a') 69 111 70 while [ ".$1" != . ] ; do 71 case ".$1" in 72 (.--cflags) action=cflags;; 73 (.--libs) action=libs;; 74 (.-*) echo "Uknwown option $1" >&2; exit 1;; 75 (.*) 76 case "$1" in 77 (libui) ;; 78 (libgfximage) ;; 79 (libmath) ;; 80 (libhound) ;; 81 (libpcm) ;; 82 (libgfx) ;; 83 (libipcgfx) ;; 84 (libdisplay) ;; 85 (*) echo "Unknown package $1" >&2; exit 1;; 86 esac 112 print(' '.join(result)) 87 113 88 echo "$pkg" | grep -w "$1" >/dev/null 2>&189 if [ $? -ne 0 ] ; then90 pkg="$pkg $1"91 fi;;92 esac93 shift 194 done95 114 96 if [ ."$pkg" = . ]; then 97 echo "Package name(s) required." >&2 98 exit 1 99 fi 100 101 for p in $pkg ; do 102 case "$action" in 103 (cflags) eval "printf ' %s' \$${p}_cflags";; 104 (libs) eval "printf ' %s' \$${p}_libs";; 105 esac 106 done 107 108 echo 115 if __name__ == '__main__': 116 main() -
uspace/lib/c/meson.build
rde96d3b r25e1490 53 53 _sdir = meson.current_source_dir() / idir 54 54 uspace_lib_devel_install_script_text += 'cp -R -L -T "@0@" "${DESTDIR}include/libc"'.format(_sdir) 55 exported_devel_files += ['include', _sdir, 'libc'] 55 56 endforeach 56 57 … … 209 210 pic: false, 210 211 ) 212 exported_devel_files += ['staticlib', libstartfiles, 'libstartfiles.a'] 211 213 212 214 if CONFIG_DEVEL_FILES -
uspace/lib/clui/meson.build
rde96d3b r25e1490 29 29 deps = [ 'clipboard', 'console' ] 30 30 src = files( 31 ' nchoice.c',32 ' tinput.c',31 'src/nchoice.c', 32 'src/tinput.c', 33 33 ) -
uspace/lib/meson.build
rde96d3b r25e1490 180 180 if run_command('[', '-d', incdir, ']').returncode() == 0 181 181 includes += include_directories(incdir) 182 _sdir = meson.current_source_dir() / l / 'include' 182 183 183 184 if installed_libs.contains(l) 184 _sdir = meson.current_source_dir() / l / 'include'185 185 uspace_lib_devel_install_script_text += 'cp -R -L -T "@0@" "${DESTDIR}include/lib@1@"'.format(_sdir, l) 186 186 endif 187 188 exported_devel_files += ['include', _sdir, 'lib' + l] 187 189 else 188 190 includes += include_directories(l) … … 293 295 install_deps += [ _static_lib ] 294 296 endif 297 298 exported_devel_files += ['staticlib', _static_lib, 'lib' + l + '.a'] 295 299 296 300 _static_dep = declare_dependency( -
uspace/lib/posix/meson.build
rde96d3b r25e1490 67 67 uspace_lib_devel_install_script_text += 'cp -R -L -T "@0@" "${DESTDIR}include/libposix"'.format(_sdir) 68 68 uspace_lib_devel_install_script_text += 'ln -s -r "${DESTDIR}include/libc" "${DESTDIR}/include/common"' 69 70 exported_devel_files += [ 'include', meson.current_source_dir() / 'include' / 'posix', 'libposix' ] 71 exported_devel_files += [ 'includesymlink', 'libc', 'libposix' ]
Note:
See TracChangeset
for help on using the changeset viewer.