Skip to content

Commit 51a3414

Browse files
committed
Fix the hard-coded header path in configure.ac
This commit removes the hard-coded path in configure.ac which causes compiling issues when doing cross-compiling. It uses PKG_CHECK_MODULES to figure out the correct path and library name. Signed-off-by: Liming Sun <lsun@mellanox.com>
1 parent bd972b5 commit 51a3414

File tree

3 files changed

+22
-19
lines changed

3 files changed

+22
-19
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ internal rshim registers.
1717
FreeBSD:
1818

1919
Require FreeBSD 12.0+ with packages autoconf, automake, gmake, libepoll-shim,
20-
libpciaccess, libpci.
20+
libpciaccess, libpci, pkgconf.
2121

2222
Follow the same steps as build in Linux, or use 'gmake -f Makefile.freebsd'
2323
to build it. Use 'gmake install' to install it.

configure.ac

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ AC_CONFIG_AUX_DIR(config)
77
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
88
AC_LANG(C)
99
AC_PROG_CC
10+
AM_PROG_CC_C_O
1011
AC_CONFIG_HEADERS([config.h])
1112
AC_CONFIG_FILES([
1213
Makefile
@@ -41,37 +42,27 @@ case $host in
4142
AC_MSG_ERROR([unsupported operating system $host])
4243
esac
4344

44-
AC_SUBST(CPPFLAGS, "$CPPFLAGS -D_FILE_OFFSET_BITS=64")
45-
AC_SUBST(CPPFLAGS, "$CPPFLAGS -DHAVE_RSHIM_NET")
46-
AC_SUBST(CPPFLAGS, "$CPPFLAGS -I/usr/local/include")
47-
4845
AS_IF([test "x$build_pcie" = "xyes"], [
49-
AC_CHECK_HEADERS([pci/pci.h],[],[AC_MSG_ERROR([Missing pciutils header files])])
50-
AC_SUBST(CPPFLAGS, "$CPPFLAGS -DHAVE_RSHIM_PCIE")
51-
AC_CHECK_LIB(pci, pci_init, [], [AC_MSG_ERROR([Missing libpci])])
46+
PKG_CHECK_MODULES(libpci, libpci, [], [AC_MSG_ERROR([Can't find libpci])])
5247
])
5348

5449
AS_IF([test "x$build_usb" = "xyes"], [
50+
PKG_CHECK_MODULES(libusb, libusb-1.0 >= 1.0, [], [AC_MSG_ERROR([Can't find libusb-1.0])])
5551
if test $backend = freebsd; then
56-
AC_CHECK_HEADERS([libusb.h],[],[AC_MSG_ERROR([Missing libusb header files])])
57-
AC_CHECK_LIB(usb, libusb_init, [], [AC_MSG_ERROR([Missing libusb])])
52+
AC_CHECK_LIB(usb, libusb_init, [], [AC_MSG_ERROR([Missing libusb_init in libusb])])
5853
else
59-
AC_CHECK_HEADERS([libusb-1.0/libusb.h],[],[AC_MSG_ERROR([Missing libusb header files])])
60-
AC_SUBST(CPPFLAGS, "$CPPFLAGS -DHAVE_RSHIM_USB")
61-
AC_SUBST(CPPFLAGS, "$CPPFLAGS -I/usr/include/libusb-1.0 -I/usr/local/include/libusb-1.0")
62-
AC_CHECK_LIB(usb-1.0, libusb_init, [], [AC_MSG_ERROR([Missing libusb-1.0])])
54+
AC_CHECK_LIB(usb-1.0, libusb_init, [], [AC_MSG_ERROR([Missing libusb_init in libusb-1.0])])
6355
fi
6456
AC_CHECK_FUNCS([libusb_get_port_numbers libusb_get_device_address])
6557
])
6658

67-
AC_CHECK_HEADERS([fuse/cuse_lowlevel.h],[],[AC_MSG_ERROR([Missing fuse header files])])
59+
PKG_CHECK_MODULES(fuse, fuse, [], [AC_MSG_ERROR([Can't find fuse])])
6860
if test $backend = freebsd; then
69-
AC_SUBST(CPPFLAGS, "$CPPFLAGS -DHAVE_RSHIM_CUSE")
70-
AC_CHECK_LIB(cuse, cuse_dev_create)
61+
AC_SUBST(CPPFLAGS, "$CPPFLAGS -DHAVE_RSHIM_CUSE")
62+
AC_CHECK_LIB(cuse, cuse_dev_create)
7163
else
72-
AC_SUBST(CPPFLAGS, "$CPPFLAGS -DFUSE_USE_VERSION=30 -DHAVE_RSHIM_FUSE")
64+
AC_SUBST(CPPFLAGS, "$CPPFLAGS -DFUSE_USE_VERSION=30 -DHAVE_RSHIM_FUSE")
7365
fi
74-
AC_CHECK_LIB(fuse, cuse_lowlevel_setup, [], [AC_MSG_ERROR([Missing fuse library])])
7566

7667
if test $backend = freebsd; then
7768
AC_CHECK_HEADERS([libepoll-shim/sys/epoll.h],[],[AC_MSG_ERROR([Missing libepoll-shim])])

src/Makefile.am

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,23 @@
55
bin_PROGRAMS = bfrshim
66

77
bfrshim_SOURCES = rshim.c rshim_log.c rshim_net.c
8+
bfrshim_CPPFLAGS = -DHAVE_RSHIM_NET
9+
bfrshim_LDFLAGS =
810

11+
# USB
912
if BUILD_RSHIM_USB
1013
bfrshim_SOURCES += rshim_usb.c
14+
bfrshim_CPPFLAGS += $(libusb_CFLAGS) -DHAVE_RSHIM_USB
15+
bfrshim_LDFLAGS += $(libusb_LIBS)
1116
endif
1217

18+
# PCIe
1319
if BUILD_RSHIM_PCIE
1420
bfrshim_SOURCES += rshim_pcie.c rshim_pcie_lf.c
21+
bfrshim_CPPFLAGS += $(libpci_CFLAGS) -DHAVE_RSHIM_PCIE
22+
bfrshim_LDFLAGS += $(libpci_LIBS)
1523
endif
24+
25+
# FUSE / CUSE
26+
bfrshim_CPPFLAGS += $(fuse_CFLAGS)
27+
bfrshim_LDFLAGS += $(fuse_LIBS)

0 commit comments

Comments
 (0)