1From e886222c70d4b251f0785f670477b7aee938e5af Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Wed, 21 Feb 2024 13:55:41 +0800
4Subject: [PATCH] exe/Makefile.am: add CROSS_LAUNCHER to run odbc_config
5
6In case of cross compilation, the odbc_config cannot run, the error message
7would be like below:
8
9  /bin/bash: line 1: ../exe/odbc_config: cannot execute binary file: Exec format error
10
11Add CROSS_LAUNCHER to allow the possibility of running odbc_config correctly in
12case of cross compilation.
13
14For example, here's a possible value for it (Yocto project environment, aarch64 target).
15  export CROSS_LAUNCHER="PSEUDO_UNLOAD=1 qemu-aarch64 -r 5.15 \
16  -L /PATH/TO/unixodbc/2.3.11/recipe-sysroot \
17  -E LD_LIBRARY_PATH=/PATH/TO/unixodbc/2.3.11/recipe-sysroot//usr/lib:/PATH/TO/unixodbc/2.3.11/recipe-sysroot//usr/lib  "
18
19Other projects can use the launcher they like to allow correct generation of
20the odbc.pc file in cross compilation environment.
21
22Upstream-Status: Submitted [Personal Email, nick.gorham@easysoft.com]
23
24As said in the official website, https://www.unixodbc.org/, the way to report bug and send
25out patch is via personal email. So there's a public link above.
26
27Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
28---
29 exe/Makefile.am | 6 ++++--
30 1 file changed, 4 insertions(+), 2 deletions(-)
31
32diff --git a/exe/Makefile.am b/exe/Makefile.am
33index 03f3d5a..5f33cf2 100644
34--- a/exe/Makefile.am
35+++ b/exe/Makefile.am
36@@ -59,11 +59,13 @@ slencheck_SOURCES = slencheck.c
37 dltest_DEPENDENCIES = $(LTDLDEPS)
38 dltest_LDADD = $(LIBLTDL)
39
40+CROSS_LAUNCHER ?= ""
41+
42 all-am:
43-	@sed "s![@]ODBC_ULEN[@]!`$(top_builddir)/exe/odbc_config$(EXEEXT) --ulen`!" \
44+	@sed "s![@]ODBC_ULEN[@]!`$(CROSS_LAUNCHER)$(top_builddir)/exe/odbc_config$(EXEEXT) --ulen`!" \
45 	  $(top_builddir)/DriverManager/odbc.pc > $(top_builddir)/exe/odbc.pc.tmp
46 	@mv -f $(top_builddir)/exe/odbc.pc.tmp $(top_builddir)/DriverManager/odbc.pc
47-	@sed "s![@]ODBC_CFLAGS[@]!`$(top_builddir)/exe/odbc_config$(EXEEXT) --cflags | sed 's/ -I.*//'`!" \
48+	@sed "s![@]ODBC_CFLAGS[@]!`$(CROSS_LAUNCHER)$(top_builddir)/exe/odbc_config$(EXEEXT) --cflags | sed 's/ -I.*//'`!" \
49 	  $(top_builddir)/DriverManager/odbc.pc > $(top_builddir)/exe/odbc.pc.tmp
50 	@mv -f $(top_builddir)/exe/odbc.pc.tmp $(top_builddir)/DriverManager/odbc.pc
51
52--
532.34.1
54
55