On Thu, Nov 5, 2020 at 1:15 PM Chris Koziarz <ch...@breakawayconsulting.com.au> wrote: > > I'm creating a new project that uses existing libraries, > e.g. seL4_libs/libsel4utils, a header page_dma.h, because I want to use dma > in my IO transfer. When I include header page_dma.h in question, at line > 15, <autoconf.h> is pulled in. There are 100s of autoconf.h files (usually > auto-generated ones in kernel binaries) and I have no idea which one should > be included and how to setup -I option for gcc to include it. Can anyone > educate me on it? Thanks very much! > Chris
Hi Chris, sel4_autoconf is the library in CMake that generates the autoconf.h and places it in the include path of any libraries or executables that add sel4_autoconf as a link dependency. sel4_autoconf is declared in the libsel4 CMakeLists.txt file and contains configuration options defined for libsel4 and the kernel only. Historically, the autoconf.h would include configuration options for every library and app in the system, but this was changed to reduce the big set of mutual dependencies that it caused. Other apps and libraries that have build system config options usually declare a config library named: ${library_name}_Config which can also be added to link dependencies in order to include #include <${library_name}/gen_config.h>. Kent. > > ninja output: > [1/9] Building C object > apps/sel4test-driver/fat32-sel4/CMakeFiles/fat32-sel4.dir/src/interfaces/sel4.c.obj > FAILED: > apps/sel4test-driver/fat32-sel4/CMakeFiles/fat32-sel4.dir/src/interfaces/sel4.c.obj > > /usr/bin/ccache /usr/bin/aarch64-linux-gnu-gcc > --sysroot=/home/chris/sel4_test/tqma8xqp_build > -I/home/chris/sel4_test/projects/sel4test/apps/fat32-sel4/inc > -I/home/chris/sel4_test/projects/sel4test/apps/fat32-sel4/config > -I/home/chris/sel4_test/projects/sel4test/apps/fat32-sel4/../../../sel4_projects_libs/libsdhcdrivers/include/sdhc > -I/home/chris/sel4_test/projects/sel4test/apps/fat32-sel4/../../../util_libs/libplatsupport/include > -I/home/chris/sel4_test/projects/sel4test/apps/fat32-sel4/../../../util_libs/libutils/include > -Iapps/sel4test-driver/musllibc/build-temp/stage/include -march=armv8-a > -D__KERNEL_64__ -g -nostdinc -fno-pic -fno-pie -fno-stack-protector > -fno-asynchronous-unwind-tables -ftls-model=local-exec -mstrict-align > -std=gnu11 -MD -MT > apps/sel4test-driver/fat32-sel4/CMakeFiles/fat32-sel4.dir/src/interfaces/sel4.c.obj > -MF > apps/sel4test-driver/fat32-sel4/CMakeFiles/fat32-sel4.dir/src/interfaces/sel4.c.obj.d > -o > apps/sel4test-driver/fat32-sel4/CMakeFiles/fat32-sel4.dir/src/interfaces/sel4.c.obj > -c > /home/chris/sel4_test/projects/sel4test/apps/fat32-sel4/src/interfaces/sel4.c > In file included from > /home/chris/sel4_test/projects/sel4test/apps/fat32-sel4/src/interfaces/sel4.c:12: > /home/chris/sel4_test/projects/sel4test/apps/fat32-sel4/src/interfaces/../../../../../seL4_libs/libsel4utils/include/sel4utils/page_dma.h:15:10: > fatal error: autoconf.h: No such file or directory > 15 | #include <autoconf.h> > _______________________________________________ > Devel mailing list > Devel@sel4.systems > https://sel4.systems/lists/listinfo/devel _______________________________________________ Devel mailing list Devel@sel4.systems https://sel4.systems/lists/listinfo/devel