diff --git a/.gitignore b/.gitignore index b94ad69..b850649 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ build-* Makefile.config.override src/charset/aliases.inc - +/target +/doc +/Cargo.lock diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..8794889 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,12 @@ +[package] + +name = "parserutils-sys" +version = "0.1.1" +authors = ["J-M Bell"] + +build = "make -f makefile.cargo" + +[lib] + +name = "parserutils-sys" +path = "lib.rs" diff --git a/lib.rs b/lib.rs new file mode 100644 index 0000000..83f6eb8 --- /dev/null +++ b/lib.rs @@ -0,0 +1 @@ +// Intentionally blank diff --git a/makefile.cargo b/makefile.cargo new file mode 100644 index 0000000..2122974 --- /dev/null +++ b/makefile.cargo @@ -0,0 +1,48 @@ +ifeq (darwin,$(findstring darwin,$(TARGET))) + OSTYPE=darwin +endif +ifeq (linux,$(findstring linux,$(TARGET))) + OSTYPE=linux +endif +ifeq (androideabi,$(findstring androideabi,$(TARGET))) + OSTYPE=android +endif + +C_SRC= \ + src/charset/aliases.c \ + src/charset/codec.c \ + src/charset/codecs/codec_8859.c \ + src/charset/codecs/codec_ascii.c \ + src/charset/codecs/codec_ext8.c \ + src/charset/codecs/codec_utf16.c \ + src/charset/codecs/codec_utf8.c \ + src/charset/encodings/utf16.c \ + src/charset/encodings/utf8.c \ + src/input/filter.c \ + src/input/inputstream.c \ + src/utils/buffer.c \ + src/utils/errors.c \ + src/utils/stack.c \ + src/utils/vector.c \ + $(NULL) + +C_OBJS = $(patsubst %.c,$(OUT_DIR)/%.o,$(C_SRC)) +CFLAGS += -Isrc -Isrc/charset -Iinclude -fPIC +ifeq ($(OSTYPE),android) + CFLAGS += -DWITHOUT_ICONV_FILTER +endif + +.PHONY: all +all: $(OUT_DIR)/libparserutils.a + +src/charset/aliases.inc: build/make-aliases.pl build/Aliases + perl build/make-aliases.pl + +src/charset/aliases.c: src/charset/aliases.inc + +$(OUT_DIR)/libparserutils.a: $(C_OBJS) src/charset/aliases.inc + cp -R include $(OUT_DIR) + $(AR) rcs $@ $^ + +$(OUT_DIR)/%.o: %.c + mkdir -p `dirname $@` && $(CC) $(CFLAGS) -o $@ -c $<