summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosé Bollo <jose.bollo@iot.bzh>2015-11-12 15:50:06 +0100
committerJosé Bollo <jose.bollo@iot.bzh>2015-11-12 16:07:23 +0100
commitbbac3d8b95773bf58d60f8b074c6616ba5cda745 (patch)
tree6cdb56d550242cad56bc51c2f28750d00787ba02
parent079a2e04e348df78300f35b634f76a3f958c1d53 (diff)
Use of autotools for building
Change-Id: Idf3555872aa49aca67cccb1fb5ef6aa6a9d397d1 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
-rw-r--r--.gitignore30
-rw-r--r--AUTHORS1
-rw-r--r--COPYING (renamed from LICENSE.txt)0
-rw-r--r--ChangeLog0
-rw-r--r--INSTALL10
-rw-r--r--Makefile29
-rw-r--r--Makefile.am18
-rw-r--r--NEWS0
-rw-r--r--README0
-rw-r--r--configure.ac42
-rw-r--r--wgtpkg.h1
11 files changed, 102 insertions, 29 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..bdc386d
--- /dev/null
+++ b/.gitignore
@@ -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
index 0000000..190e068
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1 @@
+José Bollo <jose.bollo@iot.bzh>
diff --git a/LICENSE.txt b/COPYING
index d645695..d645695 100644
--- a/LICENSE.txt
+++ b/COPYING
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ChangeLog
diff --git a/INSTALL b/INSTALL
new file mode 100644
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
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
index 0000000..a0fe372
--- /dev/null
+++ b/Makefile.am
@@ -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
index 0000000..e69de29
--- /dev/null
+++ b/NEWS
diff --git a/README b/README
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/README
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..b8a6bd4
--- /dev/null
+++ b/configure.ac
@@ -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
diff --git a/wgtpkg.h b/wgtpkg.h
index 14ab662..5a2fcbf 100644
--- a/wgtpkg.h
+++ b/wgtpkg.h
@@ -16,6 +16,7 @@
#include <libxml/tree.h>
+#include "config.h"
struct filedesc;