2009-08-13 01:45:45

by Philip Prindeville

[permalink] [raw]
Subject: Minimal cross-compilation fix for CRDA

Changes:

1. Move invariant definitions to before any cross-compilation conditional sections for clarity (and to avoid having to duplicate them).

2. Bracket any host (native) compilation sections with conditional based on $(CROSS_COMPILE) being empty.

4. Add 'else' section for cross-compilation using openssl and libnl-1 (or libnl-2 if explicitly selected).


--- crda-1.1.0/Makefile 2009-08-10 13:37:36.000000000 -0700
+++ crda-1.1.0/Makefile.new 2009-08-10 17:29:22.000000000 -0700
@@ -22,12 +22,17 @@
# with make PUBKEY_DIR=/usr/lib/crda/pubkeys
PUBKEY_DIR?=pubkeys

+MKDIR ?= mkdir -p
+INSTALL ?= install
+
CFLAGS += -Wall -g

all: all_noverify verify

all_noverify: crda intersect regdbdump

+ifeq ($(CROSS_COMPILE),)
+
ifeq ($(USE_OPENSSL),1)
CFLAGS += -DUSE_OPENSSL `pkg-config --cflags openssl`
LDLIBS += `pkg-config --libs openssl`
@@ -41,8 +46,6 @@
reglib.o: keys-gcrypt.c

endif
-MKDIR ?= mkdir -p
-INSTALL ?= install

NL1FOUND := $(shell pkg-config --atleast-version=1 libnl-1 && echo Y)
NL2FOUND := $(shell pkg-config --atleast-version=2 libnl-2.0 && echo Y)
@@ -64,6 +67,31 @@
NLLIBS += `pkg-config --libs $(NLLIBNAME)`
CFLAGS += `pkg-config --cflags $(NLLIBNAME)`

+else
+
+ifeq ($(USE_OPENSSL),1)
+CFLAGS += -DUSE_OPENSSL
+LDLIBS += -lssl
+
+reglib.o: keys-ssl.c
+
+else
+CFLAGS += -DUSE_GCRYPT
+LDLIBS += -lgcrypt
+
+reglib.o: keys-gcrypt.c
+
+endif
+
+ifeq ($(USE_LIBNL20),1)
+CFLAGS += -DCONFIG_LIBNL20
+NLLIBS = -lnl-genl -lnl-2.0
+else
+NLLIBS = -lnl
+endif
+
+endif
+
ifeq ($(V),1)
Q=
NQ=@true


Attachments:
crda-cross-compile.patch (1.51 kB)