Overview
Comment: | add libk-config |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
cfbfa7fccac75575af1e5c82b6cc8c0b |
User & Date: | lexi on 2020-05-20 14:27:24 |
Other Links: | manifest | tags |
Context
2020-05-20
| ||
17:40 | fix markdown syntax check-in: ed18118c3c user: lexi tags: trunk | |
14:27 | add libk-config check-in: cfbfa7fcca user: lexi tags: trunk | |
2020-03-04
| ||
12:47 | tweak build infrastructure: global install script now respects prefix in all cases; update PKGBUILD to use install script correctly check-in: b6c435e95a user: lexi tags: trunk | |
Changes
Modified arch/posix.h from [1bb8ef8aa2] to [a61775181a].
whitespace changes only
Modified dist/PKGBUILD from [fbbd050911] to [db0797b3e0].
5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
url='https://c.comint.su/libk' license=(AGPL) source=('https://c.comint.su/libk/tarball/trunk/libk.tar.gz') md5sums=(SKIP) arch=(i686 x86_64 aarch64 armv7l) depends=() makedepends=(binutils bash yasm) build() { export os=lin library=both case $(uname -m) in # i have no idea why, but the "arch" environment variable name # appears tainted somehow, and gets blanked between here and # the call to the build script. ugly hack but it works |
> > > > > > > > > > |
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
url='https://c.comint.su/libk' license=(AGPL) source=('https://c.comint.su/libk/tarball/trunk/libk.tar.gz') md5sums=(SKIP) arch=(i686 x86_64 aarch64 armv7l) depends=() makedepends=(binutils bash yasm) # the following fields should be uncommented in release tarballs and in # libk build scripts submitted to the AUR or maybe eventually the Arch # community repositories. validpgpkeys=( BA8B6CB87AAF25B4F771C34CD8B3128C48456885 1AA9AC700870CC08C8561BF9C24B9CD04DC6AE7F ) build() { export os=lin library=both case $(uname -m) in # i have no idea why, but the "arch" environment variable name # appears tainted somehow, and gets blanked between here and # the call to the build script. ugly hack but it works |
Added global/cc-invoke.m4 version [02c091706a].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
_libk_shebang_ define(quot,"'"'$1'"'")dnl # generated from /global/cc-invoke.m4 by install.sh if test "$(echo -n)" = "-n"; then say() { echo $@' \c'; } else say() { echo -n $@' '; } fi libk_libs() { if test "$static" != 1; then say quot(_libk_libdir_/kboot.o) quot(-L`'_libk_libdir_) -lk else say quot(_libk_libdir_/libk.a) fi } libk_cflags() { say quot(-I`'_libk_incdir_) } libk_static() { say _libk_libdir_/libk.a } libk_gcc() { say -ffreestanding -nostdlib } libk_clang() { say -ffreestanding -nostdlibinc } usage() { echo "usage: $0 [flags]" echo " $0 prints compiler flags necessary to compile libk programs." echo " in general, you will need three kinds of flag sets:" echo " linkage flags tell the compiler where to find libk binary libraries" echo " for the final linking stage." echo " --libs -l : emit linkage flags" echo " --static -s: modify emitted flags for static linking" echo " compilation flags tell the compiler where to find headers." echo " --cflags -c: emit compilation flags" echo " compatibility flags set various compiler-specific options needed to" echo " compile programs without the traditional C standard library." echo " --gcc -g : emit gcc-style compat flags" echo " --clang -C: emit clang-style compat flags" echo " $0 handles quoting automatically." exit 64 } for a in $@; do case $a in *help|-h) usage ;; *newlines|-n) say() { for l in $@; do echo $l done };; *libs|-l) fns="$fns libk_libs" ;; *cflags|-c) fns="$fns libk_cflags" ;; *gcc|-g) fns="$fns libk_gcc" ;; *clang|-C) fns="$fns libk_clang" ;; *static|-s) static=1 ;; esac done for f in $fns; do $f done |
Modified install.sh from [bca498cfb3] to [973646497d].
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
..
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# linux directory hierarchy on systems where this doesn't make sense. check prefix 'a directory to install to' build="${build:-out}" bindir="${bindir:-$prefix/bin}" libdir="${libdir:-$prefix/lib}" incdir="${incdir:-$prefix/include}" sharedir="${sharedir:-$prefix/share}" say "commencing install" say " - prefix: $prefix" say " - destinations:" say " - binaries → $bindir" say " - libraries → $libdir" say " - headers → $incdir" ................................................................................ say "installing binaries" # *.testbin files should not be installed install -Dm755 -t "$bindir" "$build/kgraft.attach" # Includes say "installing headers" for inc in "$build"/k/*; do install -Dm644 -t "$incdir/k" "$inc" done # Documentation say "installing documentation" for man in "$build"/doc/man/*; do install -Dm644 -t "$sharedir/man" "$man" done for html in "$build"/doc/html/*; do install -Dm644 -t "$sharedir/doc/libk/html" "$html" done for pdf in "$build"/doc/pdf/*; do install -Dm644 -t "$sharedir/doc/libk/pdf" "$pdf" done say "install complete" |
|
>
|
>
>
>
>
>
>
>
>
>
>
|
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
..
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
# linux directory hierarchy on systems where this doesn't make sense. check prefix 'a directory to install to' build="${build:-out}" bindir="${bindir:-$prefix/bin}" libdir="${libdir:-$prefix/lib}" incdir="${incdir:-$prefix/include/k}" sharedir="${sharedir:-$prefix/share}" shebang="${shebang:-#!/usr/bin/env bash}" say "commencing install" say " - prefix: $prefix" say " - destinations:" say " - binaries → $bindir" say " - libraries → $libdir" say " - headers → $incdir" ................................................................................ say "installing binaries" # *.testbin files should not be installed install -Dm755 -t "$bindir" "$build/kgraft.attach" # Includes say "installing headers" for inc in "$build"/k/*; do install -Dm644 -t "$incdir" "$inc" done # Documentation say "installing documentation" for man in "$build"/doc/man/*; do install -Dm644 -t "$sharedir/man" "$man" done for html in "$build"/doc/html/*; do install -Dm644 -t "$sharedir/doc/libk/html" "$html" done for pdf in "$build"/doc/pdf/*; do install -Dm644 -t "$sharedir/doc/libk/pdf" "$pdf" done say "building libk-config utility" m4 >"$bindir/libk-config" \ -D"_libk_bindir_=$bindir" -D"_libk_libdir_=$libdir" \ -D"_libk_incdir_=$incdir" -D"_libk_sharedir_=$sharedir" \ -D"_libk_shebang_=$shebang" \ global/cc-invoke.m4 chmod +x "$bindir/libk-config" say "install complete" |