aboutsummaryrefslogtreecommitdiffstats
path: root/tools/ipc-modem/Makefile.am
Commit message (Collapse)AuthorAgeFilesLines
* Enable static builds of (test) utilitiesDenis 'GNUtoo' Carikli2023-02-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note that we cannot cross compile static binaries out of the box yet with Guix. For instance if we use: guix build --target=arm-linux-gnueabihf --file=scripts/guix.scm We end up with the following error: Backtrace: In guix/ui.scm: 462:3 19 (_) In ice-9/boot-9.scm: 1747:15 18 (with-exception-handler #<procedure 9d77630 at ice-9/b…> …) 1752:10 17 (with-exception-handler _ _ #:unwind? _ # _) In guix/ui.scm: 449:6 16 (_) In guix/scripts/build.scm: 715:5 15 (_) In srfi/srfi-1.scm: 673:15 14 (append-map _ _ . _) 586:17 13 (map1 ("i686-linux")) In guix/scripts/build.scm: 717:21 12 (_ _) In guix/store.scm: 1377:11 11 (map/accumulate-builds #<store-connection 256.99 82587…> …) 1295:8 10 (call-with-build-handler #<procedure 9d77600 at guix/s…> …) In guix/scripts/build.scm: 676:18 9 (_ _) In guix/store.scm: 2165:25 8 (run-with-store #<store-connection 256.99 8258758> #<p…> …) 1993:13 7 (_ #<store-connection 256.99 8258758>) In guix/packages.scm: 1899:40 6 (_) 1517:16 5 (package->bag _ _ _ #:graft? _) 1614:22 4 (thunk) 1353:35 3 (lower* . _) In ice-9/boot-9.scm: 1685:16 2 (raise-exception _ #:continuable? _) 1685:16 1 (raise-exception _ #:continuable? _) 1685:16 0 (raise-exception _ #:continuable? _) ice-9/boot-9.scm:1685:16: In procedure raise-exception: In procedure struct-vtable: Wrong type argument in position 1 (expecting struct): #f But if we remove the transformed packages from guix.scm, for instance by removing them from the list of packages to build at the end of the file: (list libsamsung-ipc libsamsung-ipc-static - (with-fixed-android-make-stub libsamsung-ipc-clang-android) - (with-fixed-android-make-stub libsamsung-ipc-gcc-android) libsamsung-ipc-clang-autotools libsamsung-ipc-gcc-autotools) cross compilation then works. Thanks to the help from people on #autotools on liberachat for suggestions on how to improve this patch. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* configure.ac: fix the python3 interpreter detection.Denis 'GNUtoo' Carikli2023-02-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Guix system users need to use guix shell and the provided scripts/manifest.scm to do local builds and testing. However 'guix shell --container' doesn't have /usr/bin/env, so tests don't work if we rely on what is in the sheebang (#!). In various Makefile.am we had: PY_LOG_COMPILER = $(PYTHON) but PYTHON was undefined, so for some reasons that made 'make check' rely on the sheebang instead of just using 'python'. With this fix, with 'guix shell --pure --container -f scripts/manifest.scm', ./configure now properly detect the 'python3' that is in the path: Interpreters paths: PYTHON3..................: python3 And 'python3' is then used to run the python test scripts, which makes then makes 'make check' succeed. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* autotools: ship python test programsDenis 'GNUtoo' Carikli2022-07-261-0/+2
| | | | | | | | | | | | | | Without that fix, we don't ship any of the python test programs: $ make dist $ tar tf libsamsung-ipc-0.7.0.tar.xz | grep "\.py$" so 'make check' fail with the following error when building from a tarball: make[4]: Leaving directory '/tmp/libsamsung-ipc/libsamsung-ipc-0.7.0/samsung-ipc/tests' fatal: making test-suite.log: failed to create libsamsung-ipc-test.trs fatal: making test-suite.log: failed to create libsamsung-ipc-test.log Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* tools: ipc-modem: autotools: fix missing headerDenis 'GNUtoo' Carikli2022-07-261-1/+6
| | | | | | | | | | | | | | | | | | | Without that fix, nv_data-imei compiles fine in git, but if we build from a tarball, nv_data-imei.h is missing from the tarball: $ make dist $ tar tf libsamsung-ipc-0.7.0.tar.xz | grep "ipc-modem.*\.[ch]" libsamsung-ipc-0.7.0/tools/ipc-modem/ipc-modem-sms.c libsamsung-ipc-0.7.0/tools/ipc-modem/ipc-modem-log.c libsamsung-ipc-0.7.0/tools/ipc-modem/ipc-modem.c libsamsung-ipc-0.7.0/tools/ipc-modem/tests/ipc-modem-sms-test.c libsamsung-ipc-0.7.0/tools/ipc-modem/tests/ipc-modem-sms-fuzz.c which then results in a compilation failure: ipc-modem-log.c:28:10: fatal error: ipc-modem-log.h: No such file or directory 28 | #include "ipc-modem-log.h" | ^~~~~~~~~~~~~~~~~ Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* configure.ac: Add an option to use scripts/guix.scm's strict CFLAGSDenis 'GNUtoo' Carikli2022-07-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CFLAGS that are in the %common-strict-cflags in scripts/guix.scm have been validated with both GCC and CLANG and they are useful to find potential issues in the code or code that won't compile on Android. However while the scripts/guix.scm script is really useful to test commits once they are ready, it is less convenient to use it when fixing issues in commits that are still being worked on. This is because it is not as fast as building libsamsung-ipc directly because: - it requires a clean source directory to work (this can be done with make distclean) so we can't reuse the current build output - libsamsung-ipc source code is copied and built 5 times (in different configurations) As for the implementation, AM_CFLAGS was used instead of appending to the default CFLAGS as CFLAGS is meant to be a variable for users. The effect is that both are independent, so if users don't want strict CFLAGS, they would need to not use --enable-strict-cflags. And it was implemented as a shell script to at the same time: - Enable to have comments, and good formating of the flags. - Enable to share the cflags between guix.scm and the autotools. - Keep the complexity low to keep it working in most situations. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* tools: ipc-modem: Move log functions in their own fileDenis 'GNUtoo' Carikli2022-05-231-1/+1
| | | | | | | | | | This has several advantages: - This makes the code cleaner as we now have a more abstract logging and less code in the main c file. - If new files are added, this will enable to use logging functions in the new files. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* tools: Move ipc-modem in its own directoryDenis 'GNUtoo' Carikli2022-05-231-0/+17
This enables to then split ipc-modem in several files in a clean way. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>