Use of autotools for building
authorJosé Bollo <jose.bollo@iot.bzh>
Thu, 12 Nov 2015 14:50:06 +0000 (15:50 +0100)
committerJosé Bollo <jose.bollo@iot.bzh>
Thu, 12 Nov 2015 15:07:23 +0000 (16:07 +0100)
Change-Id: Idf3555872aa49aca67cccb1fb5ef6aa6a9d397d1
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
.gitignore [new file with mode: 0644]
AUTHORS [new file with mode: 0644]
COPYING [moved from LICENSE.txt with 100% similarity]
ChangeLog [new file with mode: 0644]
INSTALL [new file with mode: 0644]
Makefile [deleted file]
Makefile.am [new file with mode: 0644]
NEWS [new file with mode: 0644]
README [new file with mode: 0644]
configure.ac [new file with mode: 0644]
wgtpkg.h

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..bdc386d
--- /dev/null
@@ -0,0 +1,30 @@
+wgtpkg-install
+wgtpkg-pack
+wgtpkg-sign
+*.o
+
+.deps/
+Makefile
+Makefile.in
+aclocal.m4
+autom4te.cache/
+config.*
+stamp-h1
+configure
+depcomp
+install-sh
+missing
+
+PACK0/
+TODO
+a.pem
+b.pem
+ca-certificates/
+certs/
+old/
+schemas/
+tests-w3c/
+tests/
+tizen-certificates/
+truc
+*.wgt
diff --git a/AUTHORS b/AUTHORS
new file mode 100644 (file)
index 0000000..190e068
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1 @@
+José Bollo <jose.bollo@iot.bzh>
similarity index 100%
rename from LICENSE.txt
rename to COPYING
diff --git a/ChangeLog b/ChangeLog
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/INSTALL b/INSTALL
new file mode 100644 (file)
index 0000000..13c68d4
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,10 @@
+Installation Instructions
+*************************
+
+In a shell, type the following commands:
+
+autoreconf -if
+./configure
+make
+sudo make install
+
diff --git a/Makefile b/Makefile
deleted file mode 100644 (file)
index 521bc19..0000000
--- a/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-.PHONY: all
-
-all: wgtpkg-install wgtpkg-pack wgtpkg-sign
-
-O = -DPREDIR='""'
-
-INCS = wgtpkg.h
-
-COMSRCS = \
-       wgtpkg-base64.c \
-       wgtpkg-certs.c \
-       wgtpkg-digsig.c \
-       wgtpkg-files.c \
-       wgtpkg-workdir.c \
-       wgtpkg-xmlsec.c \
-       wgtpkg-zip.c
-
-
-INSTALLSRCS = wgtpkg-install.c $(COMSRCS)
-
-PACKSRCS = wgtpkg-install.c $(COMSRCS)
-
-XMLSECOPT = $(shell pkg-config --cflags --libs xmlsec1)
-
-wgtpkg-%: wgtpkg-%.c $(COMSRCS) $(INCS)
-       gcc $O -g -o wgtpkg-$* wgtpkg-$*.c $(COMSRCS) -lzip -lxml2 -lcrypto $(XMLSECOPT) -Wall -Wno-pointer-sign 
-
-
-
diff --git a/Makefile.am b/Makefile.am
new file mode 100644 (file)
index 0000000..a0fe372
--- /dev/null
@@ -0,0 +1,18 @@
+bin_PROGRAMS = wgtpkg-install wgtpkg-pack wgtpkg-sign
+
+COMMONSRCS = wgtpkg-base64.c wgtpkg-certs.c wgtpkg-digsig.c wgtpkg-files.c wgtpkg-workdir.c wgtpkg-xmlsec.c wgtpkg-zip.c
+
+AM_CFLAGS  = -Wall -Wno-pointer-sign
+AM_CFLAGS += -ffunction-sections -fdata-sections
+AM_CFLAGS += ${ZIP_CFLAGS} ${XML2_CFLAGS} ${OPENSSL_CFLAGS} ${XMLSEC_CFLAGS}
+
+AM_LDFLAGS = -Wl,--gc-sections
+
+LDADD = ${ZIP_LIBS} ${XML2_LIBS} ${OPENSSL_LIBS} ${XMLSEC_LIBS}
+
+wgtpkg_install_SOURCES = wgtpkg-install.c ${COMMONSRCS}
+
+wgtpkg_sign_SOURCES = wgtpkg-sign.c ${COMMONSRCS}
+
+wgtpkg_pack_SOURCES = wgtpkg-pack.c ${COMMONSRCS}
+
diff --git a/NEWS b/NEWS
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/README b/README
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/configure.ac b/configure.ac
new file mode 100644 (file)
index 0000000..b8a6bd4
--- /dev/null
@@ -0,0 +1,42 @@
+#                                               -*- Autoconf -*-
+# Process this file with autoconf to produce a configure script.
+
+AC_PREREQ([2.69])
+AC_INIT([wgtpkg], [1.0], [wgtpkg@iot.bzh])
+AM_INIT_AUTOMAKE
+#AM_INIT_AUTOMAKE([-Wall -Wno-pointer-sign])
+AC_CONFIG_SRCDIR([wgtpkg-files.c])
+AC_CONFIG_HEADERS([config.h])
+
+# Checks for programs.
+#AC_PROG_CXX
+AC_PROG_CC
+
+# Checks for libraries.
+# FIXME: Replace `main' with a function in `-lcrypto':
+#AC_CHECK_LIB([crypto], [d2i_X509])
+# FIXME: Replace `main' with a function in `-lxml2':
+#AC_CHECK_LIB([xml2], [xmlSaveFormatFileEnc])
+# FIXME: Replace `main' with a function in `-lzip':
+#AC_CHECK_LIB([zip], [zip_open])
+
+PKG_CHECK_MODULES([ZIP], [libzip])
+PKG_CHECK_MODULES([XML2], [libxml-2.0])
+PKG_CHECK_MODULES([OPENSSL], [openssl])
+PKG_CHECK_MODULES([XMLSEC], [xmlsec1 xmlsec1-openssl])
+
+# Checks for header files.
+AC_CHECK_HEADERS([fcntl.h limits.h stdlib.h string.h syslog.h unistd.h])
+
+# Checks for typedefs, structures, and compiler characteristics.
+AC_CHECK_HEADER_STDBOOL
+AC_TYPE_SIZE_T
+AC_TYPE_SSIZE_T
+
+# Checks for library functions.
+AC_FUNC_MALLOC
+AC_FUNC_REALLOC
+AC_CHECK_FUNCS([atexit memmove mkdir realpath rmdir stpcpy strrchr strtoul])
+
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
index 14ab662..5a2fcbf 100644 (file)
--- a/wgtpkg.h
+++ b/wgtpkg.h
@@ -16,6 +16,7 @@
 
 
 #include <libxml/tree.h>
+#include "config.h"
 
 struct filedesc;