summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--README.MMGLUE9
-rw-r--r--musl.lzy391
2 files changed, 0 insertions, 400 deletions
diff --git a/README.MMGLUE b/README.MMGLUE
index b5940f7..23b24b8 100644
--- a/README.MMGLUE
+++ b/README.MMGLUE
@@ -6,12 +6,3 @@ bits for musl libc (musl-libc.org).
the midipix musl port does not require any changes to upstream source files,
and has all files under the appropriate architecture-specific directories.
-
-in order to ease development by way of out-of-tree builds, this project
-currently uses 'lazy' as its build system. 'lazy' is deviant and somehow
-slower than standard make files, but nonetheless gets the job done.
-
-building requires a combined source tree (musl+mmglue) together with lazy,
-and of course also the midipix toolchain.
-
-to get lazy, git clone git://midipix.org/lazy;
diff --git a/musl.lzy b/musl.lzy
deleted file mode 100644
index 8ae9f66..0000000
--- a/musl.lzy
+++ /dev/null
@@ -1,391 +0,0 @@
-# lazy mark: project recipe
-lz_project_rules()
-{
- lz_rules="all install install_no_complex \
- libc libc_shared libc_static \
- libc_no_complex libc_shared_no_complex libc_static_no_complex"
-}
-
-
-lz_project_definitions()
-{
- lz_cflags_common="-std=c99 -pipe -ffreestanding -nostdinc -D_XOPEN_SOURCE=700 -fomit-frame-pointer"
-
- lz_cflags_include_common="-I$lz_project_dir/src/internal \
- -I$lz_project_dir/arch/$lz_arch \
- -I$lz_project_dir/include \
- -I$lz_build_dir/arch/$lz_arch \
- -I$lz_build_dir/include"
-
- musl_empty_lib_names="m rt pthread crypt util xnet resolv dl"
- musl_cflags_crt="-fPIC"
- musl_cflags_shared="-fPIC"
-
- if [ "$lz_pecoff_winnt"x = yesx ]; then
- pe_excluded_symbols="_dlstart"
- pe_excluded_symbols="$pe_excluded_symbols,__syscall_vtbl"
- pe_excluded_symbols="$pe_excluded_symbols,__ldso_vtbl"
- pe_excluded_symbols="$pe_excluded_symbols,__psx_vtbl"
- pe_excluded_symbols="$pe_excluded_symbols,__teb_sys_idx"
- pe_excluded_symbols="$pe_excluded_symbols,__teb_libc_idx"
- pe_excluded_symbols="$pe_excluded_symbols,__vm_lock_impl"
- pe_excluded_symbols="$pe_excluded_symbols,__vm_unlock_impl"
-
- musl_libc_so_ldflags="-shared -e _dlstart \
- -Bsymbolic-functions \
- --subsystem windows \
- --output-def $lz_build_dir/lib/libc.so.def \
- --out-dsolib $lz_build_dir/lib/libc.lib.a \
- --exclude-symbols=$pe_excluded_symbols"
- else
- musl_libc_so_ldflags="-shared -e _dlstart -Bsymbolic-functions"
- musl_cflags_shared="$musl_cflags_shared -DSHARED"
- fi
-
- musl_libc_src_dirs="src arch/$lz_arch/src arch/$lz_arch/weak"
- musl_libc_mem_files="src/string/memcpy.c src/string/memmove.c src/string/memcmp.c src/string/memset.c"
-
-
- lz_flag_tests_begin
-
- for musl_test_flag in "-frounding-math" "-fexcess-precision=standard"; do
- lz_compiler_supports_flag $lz_c_compiler "$musl_test_flag" \
- && lz_cflags_common="$lz_cflags_common $musl_test_flag"
- done
-
- for musl_test_flag in "-fno-tree-loop-distribute-patterns"; do
- lz_compiler_supports_flag $lz_c_compiler "$musl_test_flag" \
- && musl_cflags_memops="$musl_cflags_memops $musl_test_flag"
- done
-
- for musl_test_flag in "--hash-style=both"; do
- lz_linker_supports_flag $lz_c_compiler $lz_ld "$musl_test_flag" \
- && musl_libc_so_ldflags="$musl_libc_so_ldflags $musl_test_flag"
- done
-
- lz_flag_tests_end
-
-
- if [ "$lz_debug"x = yesx ]; then
- lz_cflags_debug="$lz_toolchain_cflags_debug"
- else
- lz_cflags_common="$lz_cflags_common -Os"
- fi
-
- # names of binary files and/or utilities
- musl_libc_a_name="$lz_build_dir/lib/libc$lz_stlib_ext"
- musl_libc_so_name="$lz_build_dir/lib/libc$lz_dylib_ext"
-
- # temporary files to store meta information
- musl_libc_so_obj_list=libc.so.objs
- musl_libc_so_src_list=libc.so.src.lst
-
- musl_libc_a_obj_list=libc.a.objs
- musl_libc_a_src_list=libc.a.src.lst
-
- musl_crt_obj_list=crt.objs
- musl_crt_src_list=crt.src.lst
-
- musl_install_sh=$lz_project_dir/tools/install.sh
- musl_ldso="$lz_syslibdir/ld-musl-$lz_arch$lz_subarch.so.1"
-}
-
-
-musl_headers()
-{
- if [ -f $lz_build_dir/headers.tag ]; then
- lz_ok && return
- fi
-
- mkdir -p $lz_build_dir/include
- cp -R $lz_project_dir/arch/$lz_arch/bits $lz_build_dir/include
-
- touch $lz_build_dir/headers.tag
-}
-
-
-musl_alltypes()
-{
- if [ -f $lz_build_dir/alltypes.tag ]; then
- lz_ok && return
- fi
-
- sed -f $lz_project_dir/tools/mkalltypes.sed \
- $lz_build_dir/include/bits/alltypes.h.in \
- $lz_project_dir/include/alltypes.h.in > \
- $lz_build_dir/include/bits/alltypes.h
-
- touch $lz_build_dir/alltypes.tag
-}
-
-
-musl_version()
-{
- if [ -f $lz_build_dir/version.tag ]; then
- lz_ok && return
- fi
-
- lz_pushd $lz_project_dir
- lzp_version=`sh tools/version.sh`
- lz_popd
-
- printf '#define VERSION "%s"\n' $lzp_version \
- > $lz_build_dir/include/version.h
-
- touch $lz_build_dir/version.tag
-}
-
-
-musl_empty_libs()
-{
- if [ -f $lz_build_dir/empty_libs.tag ]; then
- lz_ok && return
- fi
-
- for lzp_lib_name in $musl_empty_lib_names; do
- lzp_lib_file_name=$lz_build_dir/lib/lib$lzp_lib_name.a
- rm -f $lzp_lib_file_name
- $lz_ar rc $lzp_lib_file_name
- done
-
- touch $lz_build_dir/empty_libs.tag
-}
-
-musl_crt()
-{
- musl_headers
- musl_alltypes
-
- lz_cflags_extra="$musl_cflags_crt"
- lz_src_dirs="crt"
-
- lz_compile "$musl_crt_obj_list" "$musl_crt_src_list" "$lz_stobj_ext"
-}
-
-
-musl_libc_common()
-{
- musl_headers
- musl_alltypes
- musl_version
-}
-
-
-musl_libc_shared()
-{
- musl_libc_common
- musl_crt
-
- # memory functions
- lz_cflags_extra="$musl_cflags_shared $musl_cflags_no_complex"
- lz_cflags_special="$musl_cflags_memops"
- lz_src_files="$musl_libc_mem_files"
- lz_src_dirs=$lz_ignore_src_dirs
-
- lz_compile "$musl_libc_so_obj_list" "$musl_libc_so_src_list" "$lz_dyobj_ext"
-
- lz_src_files=
- lz_cflags_special=
-
- # regular source files
- lz_cumulative_obj_list=yes
- lz_src_dirs=$musl_libc_src_dirs
- lz_exclude_src_files="$musl_libc_mem_files"
- lz_compiler_rt_libs="$lz_compiler_rt_libs $lz_link_libgcc"
-
- if [ "$lz_pecoff_winnt"x = yesx ]; then
- musl_crti_objs="musl_crti_objs.lst"
- musl_crtn_objs="musl_crtn_objs.lst"
- echo 'crt/crti.o' > $musl_crti_objs
- echo 'crt/crtn.o' > $musl_crtn_objs
- else
- musl_crti_objs=
- musl_crtn_objs=
- fi
-
- rm -f "$musl_libc_so_name"
-
- lz_compile "$musl_libc_so_obj_list" "$musl_libc_so_src_list" "$lz_dyobj_ext"
- lz_link "$musl_crti_objs $musl_libc_so_obj_list $musl_crtn_objs" \
- "$musl_libc_so_src_list" \
- "$musl_libc_so_name" \
- "$musl_libc_so_ldflags" \
- "$lz_compiler_rt_libs" \
- "$lz_arch_dynamic_syscall_libs"
-}
-
-
-musl_libc_static()
-{
- musl_libc_common
-
- # memory functions
- lz_cflags_special="$musl_cflags_memops"
- lz_src_files="$musl_libc_mem_files"
- lz_src_dirs=$lz_ignore_src_dirs
-
- lz_compile "$musl_libc_a_obj_list" "$musl_libc_a_src_list" "$lz_stobj_ext"
- lz_src_files=
- lz_cflags_special=
-
- # regular source files
- lz_cumulative_obj_list=yes
- lz_src_dirs=$musl_libc_src_dirs
- lz_exclude_src_files="$musl_libc_mem_files"
-
- rm -f "$musl_libc_a_name"
-
- lz_compile "$musl_libc_a_obj_list" "$musl_libc_a_src_list" "$lz_stobj_ext"
- lz_archive "$musl_libc_a_obj_list" "$musl_libc_a_src_list" "$musl_libc_a_name"
-
- if [ "$lz_pecoff_winnt"x = yesx ]; then
- if [ "$lz_arch_dynamic_syscall_libs"x != x ]; then
- $lz_ar rc "$musl_libc_a_name" "$lz_arch_static_syscall_libs"
- fi
- fi
-}
-
-
-musl_libc_shared_no_complex()
-{
- lz_link_libgcc=
- lz_exclude_src_dirs="src/complex"
- musl_cflags_no_complex="-DLIBC_NO_COMPLEX"
- musl_libc_shared
-}
-
-
-musl_libc_static_no_complex()
-{
- lz_exclude_src_dirs="src/complex"
- musl_libc_static
-}
-
-
-musl_libc()
-{
- lz_link_libgcc="--as-needed `$lz_c_compiler -print-file-name=libgcc.a`"
- lz_step musl_crt
- lz_step musl_libc_shared
- lz_step musl_libc_static
- lz_step musl_empty_libs
-}
-
-
-musl_libc_no_complex()
-{
- lz_step musl_crt
- lz_step musl_libc_shared_no_complex
- lz_step musl_libc_static_no_complex
- lz_step musl_empty_libs
-}
-
-
-musl_all()
-{
- lz_step musl_libc
-}
-
-
-musl_install_crt()
-{
- lz_pushd $lz_build_dir/crt
-
- musl_crt_files=`cat $lz_build_dir/crt.objs`
-
- for lzp_crt_file in $musl_crt_files; do
- lzp_crt_obj_file=`basename $lzp_crt_file`
- $musl_install_sh -D -m 644 $lzp_crt_obj_file $lz_libdir/$lzp_crt_obj_file
- done
-
- lz_popd
-}
-
-
-musl_install_libs()
-{
- lz_pushd $lz_build_dir/lib
-
- for lzp_lib_file in "c" $musl_empty_lib_names; do
- $musl_install_sh -D -m 644 lib$lzp_lib_file$lz_stlib_ext $lz_libdir/lib$lzp_lib_file$lz_stlib_ext
- done
-
- $musl_install_sh -D -m 755 libc$lz_dylib_ext $lz_libdir/libc$lz_dylib_ext
-
- if [ "$lz_pecoff_winnt"x = yesx ]; then
- # also install the import library
- $musl_install_sh -D -m 644 libc$lz_implib_ext $lz_libdir/libc$lz_implib_ext
- fi
-
- lz_popd
-}
-
-
-musl_install_ldso()
-{
- $musl_install_sh -D -l $lz_libdir/libc$lz_dylib_ext $musl_ldso
-}
-
-
-musl_install_headers()
-{
- lz_pushd $lz_project_dir/include
-
- musl_include_files=`find . -type f`
-
- for lzp_include_file in $musl_include_files; do
- $musl_install_sh -D -m 644 $lzp_include_file $lz_includedir/$lzp_include_file
- done
-
- lz_popd
-}
-
-
-musl_install_arch_headers()
-{
- lz_pushd $lz_build_dir/include
-
- musl_include_files=`find ./bits -type f ! -name *.h.in`
-
- for lzp_include_file in $musl_include_files; do
- $musl_install_sh -D -m 644 $lzp_include_file $lz_includedir/$lzp_include_file
- done
-
- lz_popd
-}
-
-
-musl_install_specs()
-{
- sh $lz_project_dir/tools/musl-gcc.specs.sh \
- $(readlink -f "$lz_includedir") \
- $(readlink -f "$lz_libdir") \
- $(readlink -f "$musl_ldso") \
- > $lz_libdir/musl-gcc.specs
-}
-
-
-musl_install_common()
-{
- lz_step musl_install_crt
- lz_step musl_install_libs
- lz_step musl_install_ldso
- lz_step musl_install_headers
- lz_step musl_install_arch_headers
- lz_step musl_install_specs
-}
-
-
-musl_install()
-{
- lz_step musl_all
- lz_step musl_install_common
-}
-
-
-musl_install_no_complex()
-{
- lz_step musl_libc_no_complex
- lz_step musl_install_common
-}
-