libsheepy

C lib for handling text files, strings and json like data structure with an object oriented system
git clone https://spartatek.se/git/libsheepy.git
Log | Files | Refs | README | LICENSE

commit 3757d42266e14cb4711837adfba28fd0ca019551
parent afb063af263a04a637adaf84fb99a914fef9cba7
Author: Remy Noulin <loader2x@gmail.com>
Date:   Thu,  2 Jan 2020 15:56:12 +0100

add support for libasan

.gitignore           |  2 ++
buildAsan.sh         | 34 ++++++++++++++++++++++++++++++++++
buildMemcheck.sh     |  2 +-
buildMusl.sh         |  2 +-
buildMuslMemcheck.sh |  2 +-
clean.sh             |  2 +-
homeMake.sh          |  2 ++
install.sh           |  2 ++
make.sh              |  2 ++
uninstall.sh         |  2 +-
10 files changed, 47 insertions(+), 5 deletions(-)

Diffstat:
M.gitignore | 2++
AbuildAsan.sh | 34++++++++++++++++++++++++++++++++++
MbuildMemcheck.sh | 2+-
MbuildMusl.sh | 2+-
MbuildMuslMemcheck.sh | 2+-
Mclean.sh | 2+-
MhomeMake.sh | 2++
Minstall.sh | 2++
Mmake.sh | 2++
Muninstall.sh | 2+-
10 files changed, 47 insertions(+), 5 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -52,6 +52,8 @@ release/libsheepy.a release/libsheepy.so release/libsheepyMemcheck.a release/libsheepyMemcheck.so +release/libsheepyAsan.a +release/libsheepyAsan.so src/json/ar.log src/json/demoDynamic src/json/demoStatic diff --git a/buildAsan.sh b/buildAsan.sh @@ -0,0 +1,34 @@ +# compile libsheepy without recycling (see libsheepyObject.h for more information) + +CC="gcc -g3 -std=gnu99 -fPIC -pipe -mrdrnd -pthread -DrecycleContainers=0 -fsanitize=address -fno-omit-frame-pointer -fsanitize-recover=address" +STATIC="ar -cvq" +DYNAMIC="-shared -fsanitize=address -lasan" + +echo "Compiling C files" +$CC -c release/libsheepy.c +$CC -c release/libsheepySmall.c +$CC -c src/json/libsheepyObject.c +$CC -c src/json/libsheepyCSmallJson.c +$CC -c src/json/libsheepyCUndefined.c +$CC -c src/json/libsheepyCSmallDict.c +$CC -c src/json/libsheepyCSmallArray.c +$CC -c src/json/libsheepyCSmallBytes.c +$CC -c src/json/libsheepyCSmallBool.c +$CC -c src/json/libsheepyCSmallContainer.c +$CC -c src/json/libsheepyCSmallDouble.c +$CC -c src/json/libsheepyCSmallInt.c +$CC -c src/json/libsheepyCSmallString.c +$CC -c src/json/laxjson.c +$CC -c src/json/ymlParser.c +$CC -c src/json/ymlApi.c +$CC -c src/json/ymlScanner.c +$CC -c src/json/ymlReader.c +$CC -c src/tpool.c + +wait + +echo "Building static lib" +$STATIC release/libsheepyAsan.a libsheepy.o libsheepySmall.o libsheepyObject.o libsheepyCSmallJson.o libsheepyCUndefined.o libsheepyCSmallDict.o libsheepyCSmallArray.o libsheepyCSmallBytes.o libsheepyCSmallBool.o libsheepyCSmallContainer.o libsheepyCSmallDouble.o libsheepyCSmallInt.o libsheepyCSmallString.o laxjson.o ymlParser.o ymlApi.o ymlScanner.o ymlReader.o tpool.o + +echo "Building dynamic lib" +$CC $DYNAMIC -o release/libsheepyAsan.so libsheepy.o libsheepySmall.o libsheepyObject.o libsheepyCSmallJson.o libsheepyCUndefined.o libsheepyCSmallDict.o libsheepyCSmallArray.o libsheepyCSmallBytes.o libsheepyCSmallBool.o libsheepyCSmallContainer.o libsheepyCSmallDouble.o libsheepyCSmallInt.o libsheepyCSmallString.o laxjson.o ymlParser.o ymlApi.o ymlScanner.o ymlReader.o tpool.o diff --git a/buildMemcheck.sh b/buildMemcheck.sh @@ -29,4 +29,4 @@ echo "Building static lib" $STATIC release/libsheepyMemcheck.a libsheepy.o libsheepySmall.o libsheepyObject.o libsheepyCSmallJson.o libsheepyCUndefined.o libsheepyCSmallDict.o libsheepyCSmallArray.o libsheepyCSmallBytes.o libsheepyCSmallBool.o libsheepyCSmallContainer.o libsheepyCSmallDouble.o libsheepyCSmallInt.o libsheepyCSmallString.o laxjson.o ymlParser.o ymlApi.o ymlScanner.o ymlReader.o tpool.o echo "Building dynamic lib" -$CC $DYNAMIC -o release/libsheepyMemcheck.so release/libsheepy.c release/libsheepySmall.c src/json/libsheepyObject.c src/json/libsheepyCSmallJson.c src/json/libsheepyCUndefined.c src/json/libsheepyCSmallDict.c src/json/libsheepyCSmallArray.c src/json/libsheepyCSmallBytes.c src/json/libsheepyCSmallBool.c src/json/libsheepyCSmallContainer.c src/json/libsheepyCSmallDouble.c src/json/libsheepyCSmallInt.c src/json/libsheepyCSmallString.c src/json/laxjson.c src/json/ymlParser.c src/json/ymlApi.c src/json/ymlScanner.c src/json/ymlReader.c src/tpool.c +$CC $DYNAMIC -o release/libsheepyMemcheck.so libsheepy.o libsheepySmall.o libsheepyObject.o libsheepyCSmallJson.o libsheepyCUndefined.o libsheepyCSmallDict.o libsheepyCSmallArray.o libsheepyCSmallBytes.o libsheepyCSmallBool.o libsheepyCSmallContainer.o libsheepyCSmallDouble.o libsheepyCSmallInt.o libsheepyCSmallString.o laxjson.o ymlParser.o ymlApi.o ymlScanner.o ymlReader.o tpool.o diff --git a/buildMusl.sh b/buildMusl.sh @@ -27,4 +27,4 @@ echo "Building static lib" $STATIC release/libsheepy.a libsheepy.o libsheepySmall.o libsheepyObject.o libsheepyCSmallJson.o libsheepyCUndefined.o libsheepyCSmallDict.o libsheepyCSmallArray.o libsheepyCSmallBytes.o libsheepyCSmallBool.o libsheepyCSmallContainer.o libsheepyCSmallDouble.o libsheepyCSmallInt.o libsheepyCSmallString.o laxjson.o ymlParser.o ymlApi.o ymlScanner.o ymlReader.o tpool.o echo "Building dynamic lib" -$CC $DYNAMIC -o release/libsheepy.so release/libsheepy.c release/libsheepySmall.c src/json/libsheepyObject.c src/json/libsheepyCSmallJson.c src/json/libsheepyCUndefined.c src/json/libsheepyCSmallDict.c src/json/libsheepyCSmallArray.c src/json/libsheepyCSmallBytes.c src/json/libsheepyCSmallBool.c src/json/libsheepyCSmallContainer.c src/json/libsheepyCSmallDouble.c src/json/libsheepyCSmallInt.c src/json/libsheepyCSmallString.c src/json/laxjson.c src/json/ymlParser.c src/json/ymlApi.c src/json/ymlScanner.c src/json/ymlReader.c src/tpool.c +$CC $DYNAMIC -o release/libsheepy.so libsheepySmall.o libsheepyObject.o libsheepyCSmallJson.o libsheepyCUndefined.o libsheepyCSmallDict.o libsheepyCSmallArray.o libsheepyCSmallBytes.o libsheepyCSmallBool.o libsheepyCSmallContainer.o libsheepyCSmallDouble.o libsheepyCSmallInt.o libsheepyCSmallString.o laxjson.o ymlParser.o ymlApi.o ymlScanner.o ymlReader.o tpool.o diff --git a/buildMuslMemcheck.sh b/buildMuslMemcheck.sh @@ -29,4 +29,4 @@ echo "Building static lib" $STATIC release/libsheepyMemcheck.a libsheepy.o libsheepySmall.o libsheepyObject.o libsheepyCSmallJson.o libsheepyCUndefined.o libsheepyCSmallDict.o libsheepyCSmallArray.o libsheepyCSmallBytes.o libsheepyCSmallBool.o libsheepyCSmallContainer.o libsheepyCSmallDouble.o libsheepyCSmallInt.o libsheepyCSmallString.o laxjson.o ymlParser.o ymlApi.o ymlScanner.o ymlReader.o tpool.o echo "Building dynamic lib" -$CC $DYNAMIC -o release/libsheepyMemcheck.so release/libsheepy.c release/libsheepySmall.c src/json/libsheepyObject.c src/json/libsheepyCSmallJson.c src/json/libsheepyCUndefined.c src/json/libsheepyCSmallDict.c src/json/libsheepyCSmallArray.c src/json/libsheepyCSmallBytes.c src/json/libsheepyCSmallBool.c src/json/libsheepyCSmallContainer.c src/json/libsheepyCSmallDouble.c src/json/libsheepyCSmallInt.c src/json/libsheepyCSmallString.c src/json/laxjson.c src/json/ymlParser.c src/json/ymlApi.c src/json/ymlScanner.c src/json/ymlReader.c src/tpool.c +$CC $DYNAMIC -o release/libsheepyMemcheck.so libsheepy.o libsheepySmall.o libsheepyObject.o libsheepyCSmallJson.o libsheepyCUndefined.o libsheepyCSmallDict.o libsheepyCSmallArray.o libsheepyCSmallBytes.o libsheepyCSmallBool.o libsheepyCSmallContainer.o libsheepyCSmallDouble.o libsheepyCSmallInt.o libsheepyCSmallString.o laxjson.o ymlParser.o ymlApi.o ymlScanner.o ymlReader.o tpool.o diff --git a/clean.sh b/clean.sh @@ -1 +1 @@ -rm libsheepy.o libsheepySmall.o libsheepyObject.o libsheepyCSmallJson.o libsheepyCUndefined.o libsheepyCSmallDict.o libsheepyCSmallArray.o libsheepyCSmallBytes.o libsheepyCSmallBool.o libsheepyCSmallContainer.o libsheepyCSmallDouble.o libsheepyCSmallInt.o libsheepyCSmallString.o laxjson.o ymlParser.o ymlApi.o ymlScanner.o ymlReader.o tpool.o release/libsheepy.a release/libsheepy.so release/libsheepyMemcheck.a release/libsheepyMemcheck.so +rm libsheepy.o libsheepySmall.o libsheepyObject.o libsheepyCSmallJson.o libsheepyCUndefined.o libsheepyCSmallDict.o libsheepyCSmallArray.o libsheepyCSmallBytes.o libsheepyCSmallBool.o libsheepyCSmallContainer.o libsheepyCSmallDouble.o libsheepyCSmallInt.o libsheepyCSmallString.o laxjson.o ymlParser.o ymlApi.o ymlScanner.o ymlReader.o tpool.o release/libsheepy.a release/libsheepy.so release/libsheepyMemcheck.a release/libsheepyMemcheck.so release/libsheepyAsan.a release/libsheepyAsan.so diff --git a/homeMake.sh b/homeMake.sh @@ -8,6 +8,8 @@ rm genMake echo Building libsheepy without container recycling for memcheck ./cleanObjects.sh ./buildMemcheck.sh +./cleanObjects.sh +./buildAsan.sh #./install.sh # compiling using make: diff --git a/install.sh b/install.sh @@ -7,3 +7,5 @@ cp release/libsheepy.a /usr/local/lib/ cp release/libsheepy.so /usr/local/lib/ cp release/libsheepyMemcheck.a /usr/local/lib/ cp release/libsheepyMemcheck.so /usr/local/lib/ +cp release/libsheepyAsan.a /usr/local/lib/ +cp release/libsheepyAsan.so /usr/local/lib/ diff --git a/make.sh b/make.sh @@ -6,6 +6,8 @@ rm genMake echo Building libsheepy without container recycling for memcheck ./cleanObjects.sh ./buildMemcheck.sh +./cleanObjects.sh +./buildAsan.sh ./install.sh # compiling using make: diff --git a/uninstall.sh b/uninstall.sh @@ -1,2 +1,2 @@ -rm -rf /usr/local/include/libsheepy.h /usr/local/include/libsheepySmall.h /usr/local/include/libsheepyObject.h /usr/local/include/tpool.h /usr/local/include/json /usr/local/lib/libsheepy.a /usr/local/lib/libsheepy.so +rm -rf /usr/local/include/libsheepy.h /usr/local/include/libsheepySmall.h /usr/local/include/libsheepyObject.h /usr/local/include/tpool.h /usr/local/include/json /usr/local/lib/libsheepy.a /usr/local/lib/libsheepy.so /usr/local/lib/libsheepyAsan.a /usr/local/lib/libsheepyAsan.so