summaryrefslogtreecommitdiffhomepage
path: root/project/config
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2019-01-05 20:08:10 -0500
committermidipix <writeonce@midipix.org>2019-01-09 22:43:13 -0500
commitdd6f0e3f6e80b43a92000908676947c4b06c22e6 (patch)
tree111923c2d91ad92970ff298575ed111804ea6585 /project/config
parentba16785bd30e652a5d606d7059336e6d6eb7a0c2 (diff)
downloadmmglue-dd6f0e3f6e80b43a92000908676947c4b06c22e6.tar.bz2
mmglue-dd6f0e3f6e80b43a92000908676947c4b06c22e6.tar.xz
project: added config bits and rules for alltypes.h and syscall.h.
Diffstat (limited to 'project/config')
-rw-r--r--project/config/cfgdefs.in6
-rw-r--r--project/config/cfgdefs.sh23
2 files changed, 29 insertions, 0 deletions
diff --git a/project/config/cfgdefs.in b/project/config/cfgdefs.in
index 4299d59..a846390 100644
--- a/project/config/cfgdefs.in
+++ b/project/config/cfgdefs.in
@@ -4,3 +4,9 @@ LIBC_MAJOR = @libc_major@
LIBC_MINOR = @libc_minor@
LIBC_MICRO = @libc_micro@
+# port source directory
+PORT_DIR = @port_dir@
+
+# syscall.h
+syscall-arch: @libc_syscall_arch@
+
diff --git a/project/config/cfgdefs.sh b/project/config/cfgdefs.sh
index 20daffc..02e54b1 100644
--- a/project/config/cfgdefs.sh
+++ b/project/config/cfgdefs.sh
@@ -60,13 +60,33 @@ cfgdefs_detect_libc_version()
}
+cfgdefs_set_libc_options()
+{
+ if [ -d $mb_project_dir/arch/$mb_arch ]; then
+ port_dir='$(PROJECT_DIR)'
+ arch_dir=$mb_project_dir
+ else
+ port_dir='$(SOURCE_DIR)'
+ arch_dir=$mb_source_dir
+ fi
+
+ if [ -f $arch_dir/arch/$mb_arch/bits/syscall.h.in ]; then
+ libc_syscall_arch='syscall-gen'
+ else
+ libc_syscall_arch='syscall-copy'
+ fi
+}
+
+
cfgdefs_output_custom_defs()
{
sed \
+ -e 's/@port_dir@/'"$port_dir"'/g' \
-e 's/@libc_ver@/'"$libc_ver"'/g' \
-e 's/@libc_major@/'"$libc_major"'/g' \
-e 's/@libc_minor@/'"$libc_minor"'/g' \
-e 's/@libc_micro@/'"$libc_micro"'/g' \
+ -e 's/@libc_syscall_arch@/'"$libc_syscall_arch"'/g' \
"$mb_project_dir/project/config/cfgdefs.in" \
| sed -e 's/[ \t]*$//g' \
>> "$mb_pwd/cfgdefs.mk"
@@ -79,6 +99,9 @@ cfgdefs_set_arch
# libc version info
cfgdefs_detect_libc_version
+# libc (variant-specific) options
+cfgdefs_set_libc_options
+
# cfgdefs.in --> cfgdefs.mk
cfgdefs_output_custom_defs