Prefer OpenSSL versions of MD4 / MD5 / SHA1
[freeradius.git] / Make.inc.in
1 # -*- makefile -*-
2 # Make.inc.in
3 #
4 # Version:      $Id$
5 #
6
7 # Location of files.
8 prefix          = @prefix@
9 exec_prefix     = @exec_prefix@
10 sysconfdir      = @sysconfdir@
11 localstatedir   = @localstatedir@
12 libdir          = @libdir@
13 bindir          = @bindir@
14 sbindir         = @sbindir@
15 docdir          = @docdir@
16 mandir          = @mandir@
17 datadir         = @datadir@
18 dictdir         = $(datadir)/freeradius
19 logdir          = @logdir@
20 includedir      = @includedir@
21 raddbdir        = @raddbdir@
22 radacctdir      = @radacctdir@
23 top_builddir    = @abs_top_builddir@
24 top_build_prefix=@abs_top_builddir@/
25 top_srcdir      = @abs_top_srcdir@
26 datarootdir     = @datarootdir@
27
28 MAKE            = @MAKE@
29
30 # Makeflags set within the makefile appear to be additive and override
31 # flags set on the command line and the environmental variables
32 MAKEFLAGS       = @MAKEFLAGS@
33
34 CC              = @CC@
35 RANLIB          = @RANLIB@
36 IMACROS         = -imacros ${top_srcdir}/src/freeradius-devel/build.h -imacros ${top_srcdir}/src/freeradius-devel/autoconf.h -imacros ${top_srcdir}/src/freeradius-devel/features.h
37 INCLUDE         = -I${top_srcdir} -I${top_srcdir}/src
38 CFLAGS          = $(IMACROS) $(INCLUDE) -fno-strict-aliasing @CFLAGS@
39 CPPFLAGS        = @CPPFLAGS@
40 LIBPREFIX       = @LIBPREFIX@
41 EXEEXT          = @EXEEXT@
42
43 LIBTOOL         = JLIBTOOL
44 ACLOCAL         = @ACLOCAL@
45 AUTOCONF        = @AUTOCONF@
46 AUTOHEADER      = @AUTOHEADER@
47 INSTALL         = ${top_builddir}/install-sh -c
48 INSTALL_PROGRAM = ${INSTALL}
49 INSTALL_DATA    = ${INSTALL} -m 644
50 INSTALL_SCRIPT  = ${INSTALL_PROGRAM}
51 INSTALLSTRIP    = @INSTALLSTRIP@
52
53 LCRYPT          = @CRYPTLIB@
54 LIBS            = @LIBS@
55 LDFLAGS         = @LDFLAGS@
56
57 LOGDIR          = ${logdir}
58 RADDBDIR        = ${raddbdir}
59 RUNDIR          = ${localstatedir}/run/radiusd
60 SBINDIR         = ${sbindir}
61 RADIR           = ${radacctdir}
62 LIBRADIUS       = $(top_builddir)/src/lib/$(LIBPREFIX)freeradius-radius.la -l talloc
63
64 #USE_SHARED_LIBS = @USE_SHARED_LIBS@
65 #USE_STATIC_LIBS = @USE_STATIC_LIBS@
66
67 USE_SHARED_LIBS = yes
68 USE_STATIC_LIBS = yes
69 STATIC_MODULES  = @STATIC_MODULES@
70
71 OPENSSL_LIBS    = @OPENSSL_LIBS@
72 OPENSSL_INCLUDE = @OPENSSL_INCLUDE@
73 CFLAGS          += $(OPENSSL_INCLUDE)
74
75 #
76 #  If the system has OpenSSL, use it's version of MD4/MD5/SHA1, instead of
77 #  using ours.
78 #
79 ifneq "$(OPENSSL_LIBS)" ""
80 CFLAGS          +=  -DWITH_OPENSSL_MD4 -DWITH_OPENSSL_MD5 -DWITH_OPENSSL_SHA1
81 endif
82
83 LIBREADLINE     = @LIBREADLINE@
84
85 #
86 #  Version to use for packaging and other Make related things
87 #
88 RADIUSD_VERSION_STRING = @RADIUSD_VERSION_STRING@
89
90 #
91 #  This allows dlopen to do runtime checks for version mistmatches
92 #  between what it was originally linked with, and the library it's
93 #  actually loading.
94 #
95 #LDFLAGS += -release=$(RADIUSD_VERSION_STRING)
96
97 MODULES         = @MODULES@
98 HOSTINFO        = @HOSTINFO@
99
100 ifneq ($(WITH_OPENSSL_MD5),)
101 LIBRADIUS_WITH_OPENSSL = 1
102 CFLAGS += -DWITH_OPENSSL_MD5
103 endif
104
105 ifneq ($(WITH_OPENSSL_SHA1),)
106 LIBRADIUS_WITH_OPENSSL = 1
107 CFLAGS += -DWITH_OPENSSL_SHA1
108 endif
109
110 ifneq ($(LIBRADIUS_WITH_OPENSSL),)
111 ifeq ($(OPENSSL_LIBS),)
112 $(error OPENSSL_LIBS must be define in order to use WITH_OPENSSL_*)
113 else
114 LIBRADIUS += $(OPENSSL_LIBS)
115 endif
116 endif
117
118 #  http://clang.llvm.org/StaticAnalysis.html
119 #
120 #  $ make SCAN=/path/to/checker/ 
121 #
122 ifneq ($(SCAN),)
123 CC              := $(SCAN)/scan-build gcc -DFR_SCAN_BUILD
124 LIBTOOL         := 
125 endif
126
127 #
128 #  Portability cruft.  This is for replacing libtroll && libltdl
129 #  with gcc and dlopen().
130 #
131 ifeq "$(USE_SHARED_LIBS)" "yes"
132 LINK_MODE.exe   = -export-dynamic
133 CFLAGS          += -fPIC
134 else
135 LINK_MODE.exe   = -static
136 endif
137
138 ifneq "$(LIBTOOL)" ""
139 COMPILE.c       := $(LIBTOOL) --quiet --mode=compile $(CC) 
140 LINK.lib        := $(LIBTOOL) --quiet --mode=link $(CC) -rpath $(libdir) -o
141 LO              := lo
142 LA              := la
143 else
144 COMPILE.c       := $(CC)
145 LO              := o
146
147 ifeq "$(USE_SHARED_LIBS)" "yes"
148 LINK.lib        := $(CC) -shared -o
149 LA              := so
150 else
151 LINK.lib        := $(AR) cru
152 LA              := a
153 endif
154
155 endif
156
157 ifeq "$(LA)" "so"
158 ifneq "$(findstring Darwin,$(shell uname -a))" ""
159 LA              := dylib
160 endif
161 endif