# HG changeset patch # User John Tsiombikas # Date 1430794316 -10800 # Node ID c1323f9f202d23140187af34da0cb51993f4a5a8 # Parent a8277d8f687a5e1729d798d8fdae58f72c3960bb foo diff -r a8277d8f687a -r c1323f9f202d Makefile --- a/Makefile Thu Feb 19 01:33:54 2015 +0200 +++ b/Makefile Tue May 05 05:51:56 2015 +0300 @@ -1,3 +1,5 @@ +PREFIX ?= /usr/local + src = $(wildcard src/*.c) obj = $(src:.c=.o) name = sysutils @@ -11,7 +13,7 @@ ifeq ($(sys), Darwin) lib_so = lib$(name).dylib shared = -dynamiclib -else ($(sys), Win32) +else ifeq ($(sys), Win32) lib_so = $(name).dll # TODO shared = ? else # any other unix @@ -22,6 +24,10 @@ pic = -fPIC endif +inc = -Iinclude -Isrc + +CFLAGS = -pedantic -Wall -g $(pic) $(inc) + .PHONY: all all: $(lib_so) $(lib_a) @@ -29,7 +35,7 @@ $(AR) rcs $@ $(obj) $(lib_so): $(obj) - $(CC) -o $@ $(obj) $(LDFLAGS) + $(CC) -o $@ $(shared) $(obj) $(LDFLAGS) .PHONY: clean clean: diff -r a8277d8f687a -r c1323f9f202d include/datapath.h --- a/include/datapath.h Thu Feb 19 01:33:54 2015 +0200 +++ b/include/datapath.h Tue May 05 05:51:56 2015 +0300 @@ -10,7 +10,7 @@ SYSU_CURRENT_DIR /* current working directory */ }; -const char *sysu_get_directory(sysu_dir_type type); +const char *sysu_get_directory(enum sysu_dir_type type); /* Writes the path to outpath, and returns the size of the path in bytes. * Call with len <= 0 and outpath == NULL to return required storage diff -r a8277d8f687a -r c1323f9f202d include/sysutils.h --- a/include/sysutils.h Thu Feb 19 01:33:54 2015 +0200 +++ b/include/sysutils.h Tue May 05 05:51:56 2015 +0300 @@ -4,4 +4,7 @@ #include "datapath.h" #include "sysinfo.h" +int sysu_init(const char *appname, const char *inst_prefix); +void sysu_shutdown(void); + #endif /* LIBSYSUTILS_H_ */ diff -r a8277d8f687a -r c1323f9f202d src/datapath.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/datapath.c Tue May 05 05:51:56 2015 +0300 @@ -0,0 +1,5 @@ +#include "datapath.h" + +const char *sysu_get_directory(enum sysu_dir_type type) +{ +} diff -r a8277d8f687a -r c1323f9f202d src/sysu_impl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/sysu_impl.h Tue May 05 05:51:56 2015 +0300 @@ -0,0 +1,10 @@ +#ifndef SYSU_IMPL_H_ +#define SYSU_IMPL_H_ + +struct sysu_state { + char *appname; + char *prefix; +} sysu_state; + + +#endif /* SYSU_IMPL_H_ */ diff -r a8277d8f687a -r c1323f9f202d src/sysutils.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/sysutils.c Tue May 05 05:51:56 2015 +0300 @@ -0,0 +1,29 @@ +#include +#include +#include "sysutils.h" +#include "sysu_impl.h" + +int sysu_init(const char *appname, const char *inst_prefix) +{ + memset(&sysu_state, 0, sizeof sysu_state); + + if(appname) { + if(!(sysu_state.appname = strdup(appname))) { + return -1; + } + } + if(inst_prefix) { + if(!(sysu_state.prefix = strdup(inst_prefix))) { + free(sysu_state.appname); + return -1; + } + } + + return 0; +} + +void sysu_shutdown(void) +{ + free(sysu_state.appname); + free(sysu_state.prefix); +}