summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Handley <dan.handley@arm.com>2016-06-02 17:15:13 +0100
committerDan Handley <dan.handley@arm.com>2016-06-03 14:20:48 +0100
commitf0b489c1d2d4d176c06e34af9e881303816a5584 (patch)
tree5255ebbf56a21e32af6c19383a0071618b09cfe9
parenta7e530331d7cf4b58618f0715e61b5a872176f07 (diff)
Move stdlib header files to include/lib/stdlib
* Move stdlib header files from include/stdlib to include/lib/stdlib for consistency with other library headers. * Fix checkpatch paths to continue excluding stdlib files. * Create stdlib.mk to define the stdlib source files and include directories. * Include stdlib.mk from the top level Makefile. * Update stdlib header path in the fip_create Makefile. * Update porting-guide.md with the new paths. Change-Id: Ia92c2dc572e9efb54a783e306b5ceb2ce24d27fa
-rw-r--r--Makefile44
-rw-r--r--docs/porting-guide.md12
-rw-r--r--include/lib/stdlib/assert.h (renamed from include/stdlib/assert.h)0
-rw-r--r--include/lib/stdlib/inttypes.h (renamed from include/stdlib/inttypes.h)0
-rw-r--r--include/lib/stdlib/machine/_inttypes.h (renamed from include/stdlib/machine/_inttypes.h)0
-rw-r--r--include/lib/stdlib/machine/_limits.h (renamed from include/stdlib/machine/_limits.h)0
-rw-r--r--include/lib/stdlib/machine/_stdint.h (renamed from include/stdlib/machine/_stdint.h)0
-rw-r--r--include/lib/stdlib/machine/_types.h (renamed from include/stdlib/machine/_types.h)0
-rw-r--r--include/lib/stdlib/stddef.h (renamed from include/stdlib/stddef.h)0
-rw-r--r--include/lib/stdlib/stdio.h (renamed from include/stdlib/stdio.h)0
-rw-r--r--include/lib/stdlib/stdlib.h (renamed from include/stdlib/stdlib.h)0
-rw-r--r--include/lib/stdlib/string.h (renamed from include/stdlib/string.h)0
-rw-r--r--include/lib/stdlib/strings.h (renamed from include/stdlib/strings.h)0
-rw-r--r--include/lib/stdlib/sys/_null.h (renamed from include/stdlib/sys/_null.h)0
-rw-r--r--include/lib/stdlib/sys/_stdint.h (renamed from include/stdlib/sys/_stdint.h)0
-rw-r--r--include/lib/stdlib/sys/_timespec.h (renamed from include/stdlib/sys/_timespec.h)0
-rw-r--r--include/lib/stdlib/sys/_types.h (renamed from include/stdlib/sys/_types.h)0
-rw-r--r--include/lib/stdlib/sys/cdefs.h (renamed from include/stdlib/sys/cdefs.h)0
-rw-r--r--include/lib/stdlib/sys/ctype.h (renamed from include/stdlib/sys/ctype.h)0
-rw-r--r--include/lib/stdlib/sys/errno.h (renamed from include/stdlib/sys/errno.h)0
-rw-r--r--include/lib/stdlib/sys/limits.h (renamed from include/stdlib/sys/limits.h)0
-rw-r--r--include/lib/stdlib/sys/stdarg.h (renamed from include/stdlib/sys/stdarg.h)0
-rw-r--r--include/lib/stdlib/sys/stdint.h (renamed from include/stdlib/sys/stdint.h)0
-rw-r--r--include/lib/stdlib/sys/timespec.h (renamed from include/stdlib/sys/timespec.h)0
-rw-r--r--include/lib/stdlib/sys/types.h (renamed from include/stdlib/sys/types.h)0
-rw-r--r--include/lib/stdlib/sys/uuid.h (renamed from include/stdlib/sys/uuid.h)0
-rw-r--r--include/lib/stdlib/time.h (renamed from include/stdlib/time.h)0
-rw-r--r--include/lib/stdlib/xlocale/_strings.h (renamed from include/stdlib/xlocale/_strings.h)0
-rw-r--r--include/lib/stdlib/xlocale/_time.h (renamed from include/stdlib/xlocale/_time.h)0
-rw-r--r--lib/stdlib/stdlib.mk47
-rw-r--r--tools/fip_create/Makefile2
31 files changed, 77 insertions, 28 deletions
diff --git a/Makefile b/Makefile
index b1560a2b..6b31ff39 100644
--- a/Makefile
+++ b/Makefile
@@ -112,11 +112,26 @@ CHECK_IGNORE := --ignore COMPLEX_MACRO \
--ignore GIT_COMMIT_ID
CHECKPATCH_ARGS := --no-tree --no-signoff ${CHECK_IGNORE}
CHECKCODE_ARGS := --no-patch --no-tree --no-signoff ${CHECK_IGNORE}
-# Do not check the coding style on C library files or documentation files
-INCLUDE_DIRS_TO_CHECK := $(sort $(filter-out include/stdlib, $(wildcard include/*)))
-LIB_DIRS_TO_CHECK := $(sort $(filter-out lib/stdlib, $(wildcard lib/*)))
-ROOT_DIRS_TO_CHECK := $(sort $(filter-out lib include docs %.md, $(wildcard *)))
-CHECK_PATHS := ${ROOT_DIRS_TO_CHECK} ${INCLUDE_DIRS_TO_CHECK} ${LIB_DIRS_TO_CHECK}
+# Do not check the coding style on imported library files or documentation files
+INC_LIB_DIRS_TO_CHECK := $(sort $(filter-out \
+ include/lib/stdlib, \
+ $(wildcard include/lib/*)))
+INC_DIRS_TO_CHECK := $(sort $(filter-out \
+ include/lib, \
+ $(wildcard include/*)))
+LIB_DIRS_TO_CHECK := $(sort $(filter-out \
+ lib/stdlib, \
+ $(wildcard lib/*)))
+ROOT_DIRS_TO_CHECK := $(sort $(filter-out \
+ lib \
+ include \
+ docs \
+ %.md, \
+ $(wildcard *)))
+CHECK_PATHS := ${ROOT_DIRS_TO_CHECK} \
+ ${INC_DIRS_TO_CHECK} \
+ ${INC_LIB_DIRS_TO_CHECK} \
+ ${LIB_DIRS_TO_CHECK}
################################################################################
@@ -193,26 +208,15 @@ LDFLAGS += --gc-sections
################################################################################
# Common sources and include directories
################################################################################
+include lib/stdlib/stdlib.mk
BL_COMMON_SOURCES += common/bl_common.c \
common/tf_printf.c \
common/aarch64/debug.S \
lib/aarch64/cache_helpers.S \
lib/aarch64/misc_helpers.S \
- lib/stdlib/abort.c \
- lib/stdlib/assert.c \
- lib/stdlib/exit.c \
- lib/stdlib/mem.c \
- lib/stdlib/printf.c \
- lib/stdlib/putchar.c \
- lib/stdlib/puts.c \
- lib/stdlib/sscanf.c \
- lib/stdlib/strchr.c \
- lib/stdlib/strcmp.c \
- lib/stdlib/strlen.c \
- lib/stdlib/strncmp.c \
- lib/stdlib/subr_prf.c \
- plat/common/aarch64/platform_helpers.S
+ plat/common/aarch64/platform_helpers.S \
+ ${STDLIB_SRCS}
INCLUDES += -Iinclude/bl1 \
-Iinclude/bl31 \
@@ -227,8 +231,6 @@ INCLUDES += -Iinclude/bl1 \
-Iinclude/lib/aarch64 \
-Iinclude/lib/cpus/aarch64 \
-Iinclude/plat/common \
- -Iinclude/stdlib \
- -Iinclude/stdlib/sys \
${PLAT_INCLUDES} \
${SPD_INCLUDES}
diff --git a/docs/porting-guide.md b/docs/porting-guide.md
index 8947defb..8b72e758 100644
--- a/docs/porting-guide.md
+++ b/docs/porting-guide.md
@@ -2035,12 +2035,12 @@ library only contains those C library definitions required by the local
implementation. If more functionality is required, the needed library functions
will need to be added to the local implementation.
-Versions of [FreeBSD] headers can be found in `include/stdlib`. Some of these
-headers have been cut down in order to simplify the implementation. In order to
-minimize changes to the header files, the [FreeBSD] layout has been maintained.
-The generic C library definitions can be found in `include/stdlib` with more
-system and machine specific declarations in `include/stdlib/sys` and
-`include/stdlib/machine`.
+Versions of [FreeBSD] headers can be found in `include/lib/stdlib`. Some of
+these headers have been cut down in order to simplify the implementation. In
+order to minimize changes to the header files, the [FreeBSD] layout has been
+maintained. The generic C library definitions can be found in
+`include/lib/stdlib` with more system and machine specific declarations in
+`include/lib/stdlib/sys` and `include/lib/stdlib/machine`.
The local C library implementations can be found in `lib/stdlib`. In order to
extend the C library these files may need to be modified. It is recommended to
diff --git a/include/stdlib/assert.h b/include/lib/stdlib/assert.h
index 5621f8ca..5621f8ca 100644
--- a/include/stdlib/assert.h
+++ b/include/lib/stdlib/assert.h
diff --git a/include/stdlib/inttypes.h b/include/lib/stdlib/inttypes.h
index 269f3e7c..269f3e7c 100644
--- a/include/stdlib/inttypes.h
+++ b/include/lib/stdlib/inttypes.h
diff --git a/include/stdlib/machine/_inttypes.h b/include/lib/stdlib/machine/_inttypes.h
index 8dd07d64..8dd07d64 100644
--- a/include/stdlib/machine/_inttypes.h
+++ b/include/lib/stdlib/machine/_inttypes.h
diff --git a/include/stdlib/machine/_limits.h b/include/lib/stdlib/machine/_limits.h
index 49a768b0..49a768b0 100644
--- a/include/stdlib/machine/_limits.h
+++ b/include/lib/stdlib/machine/_limits.h
diff --git a/include/stdlib/machine/_stdint.h b/include/lib/stdlib/machine/_stdint.h
index e36c6598..e36c6598 100644
--- a/include/stdlib/machine/_stdint.h
+++ b/include/lib/stdlib/machine/_stdint.h
diff --git a/include/stdlib/machine/_types.h b/include/lib/stdlib/machine/_types.h
index 7e993c4c..7e993c4c 100644
--- a/include/stdlib/machine/_types.h
+++ b/include/lib/stdlib/machine/_types.h
diff --git a/include/stdlib/stddef.h b/include/lib/stdlib/stddef.h
index ea88214f..ea88214f 100644
--- a/include/stdlib/stddef.h
+++ b/include/lib/stdlib/stddef.h
diff --git a/include/stdlib/stdio.h b/include/lib/stdlib/stdio.h
index 57e5c7fa..57e5c7fa 100644
--- a/include/stdlib/stdio.h
+++ b/include/lib/stdlib/stdio.h
diff --git a/include/stdlib/stdlib.h b/include/lib/stdlib/stdlib.h
index b1ac1bf9..b1ac1bf9 100644
--- a/include/stdlib/stdlib.h
+++ b/include/lib/stdlib/stdlib.h
diff --git a/include/stdlib/string.h b/include/lib/stdlib/string.h
index 61e8102c..61e8102c 100644
--- a/include/stdlib/string.h
+++ b/include/lib/stdlib/string.h
diff --git a/include/stdlib/strings.h b/include/lib/stdlib/strings.h
index 2210df04..2210df04 100644
--- a/include/stdlib/strings.h
+++ b/include/lib/stdlib/strings.h
diff --git a/include/stdlib/sys/_null.h b/include/lib/stdlib/sys/_null.h
index 92706c6a..92706c6a 100644
--- a/include/stdlib/sys/_null.h
+++ b/include/lib/stdlib/sys/_null.h
diff --git a/include/stdlib/sys/_stdint.h b/include/lib/stdlib/sys/_stdint.h
index d0f92493..d0f92493 100644
--- a/include/stdlib/sys/_stdint.h
+++ b/include/lib/stdlib/sys/_stdint.h
diff --git a/include/stdlib/sys/_timespec.h b/include/lib/stdlib/sys/_timespec.h
index d51559c2..d51559c2 100644
--- a/include/stdlib/sys/_timespec.h
+++ b/include/lib/stdlib/sys/_timespec.h
diff --git a/include/stdlib/sys/_types.h b/include/lib/stdlib/sys/_types.h
index c59afd31..c59afd31 100644
--- a/include/stdlib/sys/_types.h
+++ b/include/lib/stdlib/sys/_types.h
diff --git a/include/stdlib/sys/cdefs.h b/include/lib/stdlib/sys/cdefs.h
index 70c09fdb..70c09fdb 100644
--- a/include/stdlib/sys/cdefs.h
+++ b/include/lib/stdlib/sys/cdefs.h
diff --git a/include/stdlib/sys/ctype.h b/include/lib/stdlib/sys/ctype.h
index f2758b77..f2758b77 100644
--- a/include/stdlib/sys/ctype.h
+++ b/include/lib/stdlib/sys/ctype.h
diff --git a/include/stdlib/sys/errno.h b/include/lib/stdlib/sys/errno.h
index f5955145..f5955145 100644
--- a/include/stdlib/sys/errno.h
+++ b/include/lib/stdlib/sys/errno.h
diff --git a/include/stdlib/sys/limits.h b/include/lib/stdlib/sys/limits.h
index c56a337d..c56a337d 100644
--- a/include/stdlib/sys/limits.h
+++ b/include/lib/stdlib/sys/limits.h
diff --git a/include/stdlib/sys/stdarg.h b/include/lib/stdlib/sys/stdarg.h
index c315dfce..c315dfce 100644
--- a/include/stdlib/sys/stdarg.h
+++ b/include/lib/stdlib/sys/stdarg.h
diff --git a/include/stdlib/sys/stdint.h b/include/lib/stdlib/sys/stdint.h
index aa5ac81d..aa5ac81d 100644
--- a/include/stdlib/sys/stdint.h
+++ b/include/lib/stdlib/sys/stdint.h
diff --git a/include/stdlib/sys/timespec.h b/include/lib/stdlib/sys/timespec.h
index 2505cef8..2505cef8 100644
--- a/include/stdlib/sys/timespec.h
+++ b/include/lib/stdlib/sys/timespec.h
diff --git a/include/stdlib/sys/types.h b/include/lib/stdlib/sys/types.h
index ae2ea33a..ae2ea33a 100644
--- a/include/stdlib/sys/types.h
+++ b/include/lib/stdlib/sys/types.h
diff --git a/include/stdlib/sys/uuid.h b/include/lib/stdlib/sys/uuid.h
index 5c4767b5..5c4767b5 100644
--- a/include/stdlib/sys/uuid.h
+++ b/include/lib/stdlib/sys/uuid.h
diff --git a/include/stdlib/time.h b/include/lib/stdlib/time.h
index 08200cfb..08200cfb 100644
--- a/include/stdlib/time.h
+++ b/include/lib/stdlib/time.h
diff --git a/include/stdlib/xlocale/_strings.h b/include/lib/stdlib/xlocale/_strings.h
index da1cff3e..da1cff3e 100644
--- a/include/stdlib/xlocale/_strings.h
+++ b/include/lib/stdlib/xlocale/_strings.h
diff --git a/include/stdlib/xlocale/_time.h b/include/lib/stdlib/xlocale/_time.h
index 6da49a42..6da49a42 100644
--- a/include/stdlib/xlocale/_time.h
+++ b/include/lib/stdlib/xlocale/_time.h
diff --git a/lib/stdlib/stdlib.mk b/lib/stdlib/stdlib.mk
new file mode 100644
index 00000000..cdf3d293
--- /dev/null
+++ b/lib/stdlib/stdlib.mk
@@ -0,0 +1,47 @@
+#
+# Copyright (c) 2016, ARM Limited and Contributors. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+#
+# Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# Neither the name of ARM nor the names of its contributors may be used
+# to endorse or promote products derived from this software without specific
+# prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+STDLIB_SRCS := $(addprefix lib/stdlib/, \
+ abort.c \
+ assert.c \
+ exit.c \
+ mem.c \
+ printf.c \
+ putchar.c \
+ puts.c \
+ sscanf.c \
+ strchr.c \
+ strcmp.c \
+ strlen.c \
+ strncmp.c \
+ subr_prf.c)
+
+INCLUDES += -Iinclude/lib/stdlib \
+ -Iinclude/lib/stdlib/sys
diff --git a/tools/fip_create/Makefile b/tools/fip_create/Makefile
index 2e367c2f..30e4b827 100644
--- a/tools/fip_create/Makefile
+++ b/tools/fip_create/Makefile
@@ -69,7 +69,7 @@ ${PROJECT}: ${OBJECTS} Makefile
# path. This avoids conflicts with definitions in the compiler standard
# include path.
#
-uuid.h : ../../include/stdlib/sys/uuid.h
+uuid.h : ../../include/lib/stdlib/sys/uuid.h
$(call SHELL_COPY,$<,$@)
firmware_image_package.h : ../../include/common/firmware_image_package.h