1
0
Fork 0
mirror of https://github.com/tailix/libkernaux.git synced 2025-02-17 15:45:32 -05:00

Non-conditional headers (#140)

This commit is contained in:
Alex Kotov 2022-12-13 00:10:46 +04:00 committed by GitHub
parent cdb2758489
commit 8bee6b424a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 64 additions and 128 deletions

2
.gitignore vendored
View file

@ -73,8 +73,6 @@
/libc/include/Makefile
/tests/Makefile
/include/kernaux.h
/include/kernaux/multiboot2.h
/include/kernaux/version.h
/examples/assert

View file

@ -1,6 +1,7 @@
2022-12-12 Alex Kotov <kotovalexarian@gmail.com>
* examples/Makefile.am: Fix builds without pthreads
* include/: Non-conditional headers (except <kernaux/version.h>)
2022-12-11 Alex Kotov <kotovalexarian@gmail.com>

View file

@ -29,8 +29,6 @@ AC_CONFIG_FILES([
include/Makefile
libc/Makefile
libc/include/Makefile
include/kernaux.h
include/kernaux/multiboot2.h
include/kernaux/version.h
tests/Makefile
])

View file

@ -1,92 +1,31 @@
##################
# Required files #
##################
nobase_include_HEADERS = \
kernaux.h \
kernaux/assert.h \
kernaux/macro.h \
kernaux/macro/packing_start.run \
kernaux/macro/packing_end.run \
kernaux/version.h \
kernaux/generic/display.h \
kernaux/generic/malloc.h \
kernaux/generic/mutex.h
########
# ARCH #
########
if WITH_ARCH_I386
nobase_include_HEADERS += kernaux/arch/i386.h kernaux/arch/i386-idt.h
endif
if WITH_ARCH_RISCV64
nobase_include_HEADERS += kernaux/arch/riscv64.h
endif
if WITH_ARCH_X86_64
nobase_include_HEADERS += kernaux/arch/x86_64.h
endif
if WITH_ARCH_X86
nobase_include_HEADERS += kernaux/arch/x86.h
endif
#######
# ASM #
#######
if WITH_ASM
if ASM_I386
nobase_include_HEADERS += kernaux/asm/i386.h
endif
if ASM_RISCV64
nobase_include_HEADERS += kernaux/asm/riscv64.h
endif
if ASM_X86_64
nobase_include_HEADERS += kernaux/asm/x86_64.h
endif
if ASM_X86
nobase_include_HEADERS += kernaux/asm/x86.h
endif
endif
####################
# Default packages #
####################
if WITH_CMDLINE
nobase_include_HEADERS += kernaux/cmdline.h
endif
if WITH_ELF
nobase_include_HEADERS += kernaux/elf.h
endif
if WITH_FREE_LIST
nobase_include_HEADERS += kernaux/free_list.h
endif
if WITH_MBR
nobase_include_HEADERS += kernaux/mbr.h
endif
if WITH_MEMMAP
nobase_include_HEADERS += kernaux/memmap.h
endif
if WITH_MULTIBOOT2
nobase_include_HEADERS += \
kernaux/multiboot2.h \
kernaux/multiboot2/header_macro.h
endif
if WITH_NTOA
nobase_include_HEADERS += kernaux/ntoa.h
endif
if WITH_PFA
nobase_include_HEADERS += kernaux/pfa.h
endif
if WITH_PRINTF
nobase_include_HEADERS += kernaux/printf.h
endif
if WITH_PRINTF_FMT
nobase_include_HEADERS += kernaux/printf_fmt.h
endif
if WITH_UNITS
nobase_include_HEADERS += kernaux/units.h
endif
kernaux.h \
kernaux/arch/i386.h \
kernaux/arch/i386-idt.h \
kernaux/arch/riscv64.h \
kernaux/arch/x86_64.h \
kernaux/arch/x86.h \
kernaux/asm/i386.h \
kernaux/asm/riscv64.h \
kernaux/asm/x86_64.h \
kernaux/asm/x86.h \
kernaux/assert.h \
kernaux/cmdline.h \
kernaux/elf.h \
kernaux/free_list.h \
kernaux/generic/display.h \
kernaux/generic/malloc.h \
kernaux/generic/mutex.h \
kernaux/macro.h \
kernaux/macro/packing_end.run \
kernaux/macro/packing_start.run \
kernaux/mbr.h \
kernaux/memmap.h \
kernaux/multiboot2.h \
kernaux/multiboot2/header_macro.h \
kernaux/ntoa.h \
kernaux/pfa.h \
kernaux/printf.h \
kernaux/printf_fmt.h \
kernaux/units.h \
kernaux/version.h

26
include/kernaux.h Normal file
View file

@ -0,0 +1,26 @@
/*
We don't include <kernaux/asm/*.h> because they
contain architecture-specific assembly functions.
*/
#include <kernaux/arch/i386.h>
#include <kernaux/arch/riscv64.h>
#include <kernaux/arch/x86_64.h>
#include <kernaux/assert.h>
#include <kernaux/cmdline.h>
#include <kernaux/elf.h>
#include <kernaux/free_list.h>
#include <kernaux/generic/display.h>
#include <kernaux/generic/malloc.h>
#include <kernaux/generic/mutex.h>
#include <kernaux/macro.h>
#include <kernaux/mbr.h>
#include <kernaux/memmap.h>
#include <kernaux/multiboot2.h>
#include <kernaux/multiboot2/header_macro.h>
#include <kernaux/ntoa.h>
#include <kernaux/pfa.h>
#include <kernaux/printf.h>
#include <kernaux/printf_fmt.h>
#include <kernaux/units.h>
#include <kernaux/version.h>

View file

@ -1,28 +0,0 @@
/*
We don't include <kernaux/asm/*.h> because they
contain architecture-specific assembly functions.
*/
#include <kernaux/assert.h>
#include <kernaux/macro.h>
#include <kernaux/version.h>
#include <kernaux/generic/malloc.h>
#include <kernaux/generic/mutex.h>
@comment_line_arch_i386@#include <kernaux/arch/i386.h>
@comment_line_arch_riscv64@#include <kernaux/arch/riscv64.h>
@comment_line_arch_x86_64@#include <kernaux/arch/x86_64.h>
@comment_line_cmdline@#include <kernaux/cmdline.h>
@comment_line_elf@#include <kernaux/elf.h>
@comment_line_free_list@#include <kernaux/free_list.h>
@comment_line_mbr@#include <kernaux/mbr.h>
@comment_line_memmap@#include <kernaux/memmap.h>
@comment_line_multiboot2@#include <kernaux/multiboot2.h>
@comment_line_multiboot2@#include <kernaux/multiboot2/header_macro.h>
@comment_line_ntoa@#include <kernaux/ntoa.h>
@comment_line_pfa@#include <kernaux/pfa.h>
@comment_line_printf@#include <kernaux/printf.h>
@comment_line_printf_fmt@#include <kernaux/printf_fmt.h>
@comment_line_units@#include <kernaux/units.h>

View file

@ -7,7 +7,7 @@ extern "C" {
#include <kernaux/macro.h>
#include <kernaux/generic/display.h>
@comment_line_memmap@#include <kernaux/memmap.h>
#include <kernaux/memmap.h>
#include <kernaux/multiboot2/header_macro.h>
#include <stdint.h>
@ -585,10 +585,10 @@ const char *KernAux_Multiboot2_HTag_RelocatableHeader_Preference_to_str(
* Information conversion functions *
************************************/
@comment_line_memmap@bool KernAux_Multiboot2_Info_to_memmap(
@comment_line_memmap@ const struct KernAux_Multiboot2_Info *multiboot2_info,
@comment_line_memmap@ KernAux_MemMap memmap
@comment_line_memmap@);
bool KernAux_Multiboot2_Info_to_memmap(
const struct KernAux_Multiboot2_Info *multiboot2_info,
KernAux_MemMap memmap
);
/***************************
* Header helper functions *

View file

@ -3,7 +3,9 @@
@comment_line_cmdline@#define KERNAUX_VERSION_WITH_CMDLINE
@comment_line_elf@#define KERNAUX_VERSION_WITH_ELF
@comment_line_free_list@#define KERNAUX_VERSION_WITH_FREE_LIST
@comment_line_mbr@#define KERNAUX_VERSION_WITH_MBR
@comment_line_memmap@#define KERNAUX_VERSION_WITH_MEMMAP
@comment_line_multiboot2@#define KERNAUX_VERSION_WITH_MULTIBOOT2
@comment_line_ntoa@#define KERNAUX_VERSION_WITH_NTOA
@comment_line_pfa@#define KERNAUX_VERSION_WITH_PFA