projects
/
libjh.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
include alloca header
[libjh.git]
/
compile.sh
diff --git
a/compile.sh
b/compile.sh
index
5a4327b
..
0cf511e
100755
(executable)
--- a/
compile.sh
+++ b/
compile.sh
@@
-11,7
+11,8
@@
set -f -u -e -o pipefail
# flags for the build - adjust for your needs
# delete all the generated stuff afterwards (with `rm -r gen`)
CC='gcc'
# flags for the build - adjust for your needs
# delete all the generated stuff afterwards (with `rm -r gen`)
CC='gcc'
-CFLAGS='-O3 -Wall -Werror -Wno-error=strict-aliasing -fPIC -std=c99 -march=native'
+# -fstack-check isn't just hardening - we do unbounded stack allocations in TPRINTF!
+CFLAGS='-O3 -Wall -Werror -Wno-error=strict-aliasing -fPIC -std=c99 -march=native -fstack-check -fstack-protector-all -D_FORTIFY_SOURCE=2'
# create build environment if it doesn't exist yet
mkdir -p gen # contains all generated files
# create build environment if it doesn't exist yet
mkdir -p gen # contains all generated files
@@
-26,7
+27,7
@@
echo "going ahead with CFLAGS=\"$CFLAGS\"..." >&2
# generate header
set +f
# needs correct order, so list them here
# generate header
set +f
# needs correct order, so list them here
-cat header.h
bufio.h
> gen/jh.h
+cat header.h > gen/jh.h
set -f
for source_file in $(ls|grep '\.c$'); do
echo "extracting header data from $source_file..." >&2
set -f
for source_file in $(ls|grep '\.c$'); do
echo "extracting header data from $source_file..." >&2
@@
-83,4
+84,5
@@
done
# ... and link!
cd gen/obj
$CC -shared -Wl,-soname,libjh.so -o ../libjh.so $(ls)
# ... and link!
cd gen/obj
$CC -shared -Wl,-soname,libjh.so -o ../libjh.so $(ls)
+ar rcs ../libjh.a $(ls)
cd ../..
cd ../..