From 86387d4eb3e8e6f97ab8b7f0e2d6988ed0e62e48 Mon Sep 17 00:00:00 2001 From: Salvatore Cro Date: Sun, 16 Aug 2015 20:53:37 -0700 Subject: Add argp implementation Argp is an advanced support for parsing unix-style argument vectors. In addition to the common getopt interface, it provides automatic response to `--help' and `--version' options and use of custom parser in conjunction with argp native option parser, among others. Argp support is required by elfutils package and prelink. In uClibc argp functionalities has been moved from C library to libuargp.so Further the libc.so linker script contains an AS_NEEDED entry so that it doesn't need to link libuargp.so explicitely. Disable argp test if feature disabled. Signed-off-by: Salvatore Cro Signed-off-by: Filippo Arcidiacono Signed-off-by: Carmelo Amoroso Signed-off-by: Khem Raj Signed-off-by: Waldemar Brodkorb --- libuargp/Makefile.in | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 libuargp/Makefile.in (limited to 'libuargp/Makefile.in') diff --git a/libuargp/Makefile.in b/libuargp/Makefile.in new file mode 100644 index 000000000..1498abb69 --- /dev/null +++ b/libuargp/Makefile.in @@ -0,0 +1,73 @@ +# Makefile for uClibc (libuargp) +# +# Copyright (C) 2009, 2010 STMicroelectronics Ltd. +# Author(s): Salvatore Cro +# - First implementation, embedded into libc +# Filippo Arcidiacono +# - Reworked for stand-alone libuargp implementation + +# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. +# + +CFLAGS-libuargp := -DNOT_IN_libc -DIS_IN_libuargp $(SSP_ALL_CFLAGS) + +LDFLAGS-libuargp.so := $(LDFLAGS) + +LIBS-libuargp.so := $(LIBS) + +libuargp_FULL_NAME := libuargp-$(VERSION).so + +libuargp_DIR := $(top_srcdir)libuargp +libuargp_OUT := $(top_builddir)libuargp + +libuargp_SRC-y := +libuargp_SRC-$(UCLIBC_HAS_ARGP) := $(addsuffix .c,$(addprefix argp-, ba \ + eexst fmtstream fs-xinl help parse pv pvh xinl)) + +CFLAGS-argp-xinl.c = -fgnu89-inline + +libuargp_SRC := $(addprefix $(libuargp_DIR)/,$(libuargp_SRC-y)) +libuargp_OBJ := $(patsubst $(libuargp_DIR)/%.c,$(libuargp_OUT)/%.o,$(libuargp_SRC)) + +libuargp_SRCS := $(libuargp_SRC) +libuargp_OBJS := $(libuargp_OBJ) + +ifeq ($(DOPIC),y) +libuargp-a-y := $(libuargp_OBJS:.o=.os) +else +libuargp-a-y := $(libuargp_OBJS) +endif +libuargp-so-y := $(libuargp_OBJS:.o=.os) + +lib-a-$(UCLIBC_HAS_ARGP) += $(top_builddir)lib/libuargp.a +lib-so-$(UCLIBC_HAS_ARGP) += $(top_builddir)lib/libuargp.so + +objclean-y += CLEAN_libuargp + +ifeq ($(DOMULTI),n) +ifeq ($(DOPIC),y) +$(top_builddir)lib/libuargp.so: $(top_builddir)lib/libuargp.a $(libc.depend) +else +$(top_builddir)lib/libuargp.so: $(libuargp_OUT)/libuargp_so.a $(libc.depend) +endif + $(call link.so,$(libuargp_FULL_NAME),$(MAJOR_VERSION)) +else +$(top_builddir)lib/libuargp.so: $(libuargp_OUT)/libuargp.oS $(libc.depend) + $(call linkm.so,$(libuargp_FULL_NAME),$(MAJOR_VERSION)) +endif + +$(libuargp_OUT)/libuargp_so.a: $(libuargp-so-y) + $(Q)$(RM) $@ + $(do_ar) + +$(libuargp_OUT)/libuargp.oS: $(libuargp_SRCS) + $(Q)$(RM) $@ + $(compile-m) + +$(top_builddir)lib/libuargp.a: $(libuargp-a-y) + $(Q)$(INSTALL) -d $(dir $@) + $(Q)$(RM) $@ + $(do_ar) + +CLEAN_libuargp: + $(do_rm) $(addprefix $(libuargp_OUT)/*., o os oS a) -- cgit v1.2.3