Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
9.2.2023: Due to updates GitLab will be unavailable for some minutes between 9:00 and 11:00.
Open sidebar
dcdb
dcdb
Commits
26361b6c
Commit
26361b6c
authored
Apr 07, 2015
by
Axel Auweter
Browse files
Enables cross compilation for ARM targets related to ticket #30
parent
42982b59
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
CollectAgent/Makefile
View file @
26361b6c
...
...
@@ -5,7 +5,7 @@ OBJS = collectagent.o \
simplemqttserver.o
\
simplemqttserverthread.o
\
simplemqttservermessage.o
LIBS
=
-L
$(DCDBDEPLOYPATH)
/lib/
-ldcdb
-lpthread
-lcassandra
-luv
-lboost_system
-lboost_random
-lboost_thread
-lboost_date_time
LIBS
=
-L
$(DCDBDEPLOYPATH)
/lib/
-ldcdb
-lpthread
-lcassandra
-luv
-lboost_system
-lboost_random
-lboost_thread
-lboost_date_time
-lssl
-lcrypto
TARGET
=
collectagent
.PHONY
:
clean install
...
...
DCDBLib/Makefile
View file @
26361b6c
...
...
@@ -17,7 +17,7 @@ PUBHEADERS = $(shell find include -type f -iname "*.h")
PRIVHEADERS
=
$(
shell
find include_internal
-type
f
-iname
"*.h"
)
# External libraries to link against
LIBS
=
-L
$(DCDBDEPLOYPATH)
/lib/
-lcassandra
-lboost_random
-lboost_system
-lboost_date_time
-luv
LIBS
=
-L
$(DCDBDEPLOYPATH)
/lib/
-lcassandra
-lboost_random
-lboost_system
-lboost_date_time
-luv
# Dynamic library building differs between Linux/BSD and MacOS
OS
=
$(
shell
uname
)
...
...
DCDBTools/dcdbconfig/Makefile
View file @
26361b6c
...
...
@@ -2,7 +2,7 @@ include ../../config.mk
CXXFLAGS
=
-O0
-ggdb
--std
=
c++11
-Wall
-Wno-unused-local-typedefs
-Wno-unknown-warning-option
-fmessage-length
=
0
-I
$(DCDBDEPLOYPATH)
/include/
-I
$(DCDBBASEPATH)
/include/
OBJS
=
dcdbconfig.o sensoraction.o useraction.o casshelper.o
LIBS
=
-L
$(DCDBDEPLOYPATH)
/lib/
-ldcdb
-lcassandra
-luv
-lboost_random
-lboost_system
LIBS
=
-L
$(DCDBDEPLOYPATH)
/lib/
-ldcdb
-lcassandra
-luv
-lboost_random
-lboost_system
-lssl
-lcrypto
# GCC 4.8 is broken
ifeq
($(findstring 4.8, $(shell $(CXX) --version)), 4.8)
SLIBS
=
$(DCDBDEPLOYPATH)
/lib/libboost_random.a
$(DCDBDEPLOYPATH)
/lib/libboost_system.a
...
...
DCDBTools/dcdbquery/Makefile
View file @
26361b6c
...
...
@@ -2,7 +2,7 @@ include ../../config.mk
CXXFLAGS
=
-O0
-ggdb
--std
=
c++11
-Wall
-Wno-unused-local-typedefs
-Wno-unknown-warning-option
-fmessage-length
=
0
-I
$(DCDBDEPLOYPATH)
/include/
-I
$(DCDBBASEPATH)
/include/
-DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG
OBJS
=
dcdbquery.o query.o casshelper.o
LIBS
=
-L
$(DCDBDEPLOYPATH)
/lib/
-ldcdb
-lcassandra
-luv
-lboost_random
-lboost_system
-lboost_date_time
LIBS
=
-L
$(DCDBDEPLOYPATH)
/lib/
-ldcdb
-lcassandra
-luv
-lboost_random
-lboost_system
-lboost_date_time
-lssl
-lcrypto
TARGET
=
dcdbquery
.PHONY
:
clean install
...
...
Makefile
View file @
26361b6c
...
...
@@ -24,7 +24,12 @@ DISTFILES = apache-cassandra-$(CASSANDRA_VERSION).tar.gz;http://apache.cs.utah.e
FETCH
=
wget
-c
--no-check-certificate
-O
-
OPENSSL_TARGET
=
$(
if
$(
findstring
$(
shell
uname
)
,Darwin
)
,
"darwin64-x86_64-cc"
,
"linux-x86_64"
)
# Determine OpenSSL dependency target
ifeq
("$(ARCH)", "arm")
OPENSSL_TARGET
=
"linux-armv4"
else
OPENSSL_TARGET
=
$(
findstring
$(
shell
uname
)
,Darwin
)
,
"darwin64-x86_64-cc"
,
"linux-x86_64"
)
endif
MAKETHREADS
?=
$(
if
$(
findstring
$(
shell
uname
)
,Darwin
)
,
$(
shell
sysctl machdep.cpu.thread_count |
cut
-b
27-
)
,
\
$(
if
$(
findstring
$(
shell
uname
)
,Linux
)
,
$(
shell
cat
/proc/cpuinfo |
grep
processor |
wc
-l
)
,4
))
...
...
@@ -40,11 +45,32 @@ CASSANDRA_COMMITLOG_SEGMENT_SIZE_IN_MB = 16
DISTFILESNAMES
=
$(
foreach
f,
$(DISTFILES)
,
$(
shell
echo
"
$(f)
"
|
sed
's/;.*//'
))
DISTFILESPATHS
=
$(
foreach
f,
$(DISTFILES)
,
$(
shell
echo
"
$(f)
"
|
sed
's/.tar.gz;.*//'
|
sed
's/.zip;.*//'
))
# If cross-compiling for ARM, adjust the build settings
ifeq
("$(ARCH)", "arm")
ifeq
("$(CROSS_COMPILE)", "")
$(error
"If you want to cross compile for ARM, you must set the CROSS_COMPILE variable with your cross compiler prefix"
)
endif
CROSS_COMPILE_STRP
=
$
(
CROSS_COMPILE:-
=)
CC
=
"
$(CROSS_COMPILE)
gcc"
CXX
=
"
$(CROSS_COMPILE)
g++"
CMAKE_CROSS_FLAGS
=
-DCMAKE_C_COMPILER
=
$(CC)
\
-DCMAKE_CXX_COMPILER
=
$(CXX)
\
-DCMAKE_FIND_ROOT_PATH
=
/usr/
$(CROSS_COMPILE_STRP)
\
-DCMAKE_LIBRARY_PATH
=
$(DCDBDEPLOYPATH)
/lib
\
-DCMAKE_INCLUDE_PATH
=
$(DCDBDEPLOYPATH)
/include
AUTOCONF_CROSS_FLAGS
=
--host
=
$(CROSS_COMPILE_STRP)
SKIP_PROJECTS
=
IPMIPusher MontBlancPusher
else
CMAKE_CROSS_FLAGS
=
""
AUTOCONF_CROSS_FLAGS
=
""
SKIP_PROJECTS
=
""
endif
CFLAGS
+=
-I
$(DCDBDEPLOYPATH)
/include
-O0
-g
CXX11FLAGS
=
--std
=
c++11
-Wno-c99-extensions
-Wno-missing-field-initializers
-DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG
LDFLAGS
+=
-L
$(DCDBDEPLOYPATH)
/lib
-O0
-g
.PHONY
:
info all clean cleanall distclean $(LIBRARIES) $(PROJECTS)
.PHONY
:
info all clean cleanall distclean
check-cross-compile
$(LIBRARIES) $(PROJECTS)
info
:
@
echo
""
...
...
@@ -69,7 +95,10 @@ info:
@
echo
""
@
echo
"To start, please type:"
@
echo
" make all"
@
echo
$(OPENSSLPREFIX)
@
echo
""
@
echo
"For ARM cross compilation, please type:"
@
echo
" make ARCH=arm CROSS_COMPILE=<X> all"
@
echo
"where <X> is your cross copmlier prefix ( e.g. arm-linux-gnueabihf- )"
clean
:
@
$(
foreach
l,
$(LIBRARIES)
,echo
"Cleaning
$(l)
..."
&&
make
-C
$(l)
clean
&&
echo
;
)
...
...
@@ -91,10 +120,16 @@ mrproper: distclean
@
echo
"Wiping installation directory..."
@
rm
-rf
$(DCDBDEPLOYPATH)
all
:
$(DCDBDEPSPATH)/.prerequesites
all
:
check-cross-compile
$(DCDBDEPSPATH)/.prerequesites
@
make
$(LIBRARIES)
@
make
$(PROJECTS)
check-cross-compile
:
@
if
[
"
$(ARCH)
"
=
"arm"
]
;
then
\
echo
"Info: Cross-compiling for ARM using compiler prefix:
$(CROSS_COMPILE_STRP)
"
;
\
echo
;
\
fi
;
$(DCDBDEPSPATH)/.prerequesites
:
$(DCDBDEPSPATH)/.extract-distfiles
@
echo
""
@
echo
"Preparing patches..."
...
...
@@ -120,7 +155,13 @@ $(DCDBDEPSPATH)/.prerequesites: $(DCDBDEPSPATH)/.extract-distfiles
fi
;
\
mkdir
-p
$(DCDBDEPSPATH)
/mosquitto_build
;
\
cd
$(DCDBDEPSPATH)
/mosquitto_build
&&
\
cmake
-DWITH_SRV
=
no
-DWITH_TLS
=
OFF
-DCMAKE_INSTALL_PREFIX
:PATH
=
$(DCDBDEPLOYPATH)
/
$(DCDBDEPSPATH)
/
$(M)
&&
\
cmake
$(CMAKE_CROSS_FLAGS)
\
-DOPENSSL_ROOT_DIR
=
$(DCDBDEPLOYPATH)
/
\
-DWITH_SRV
=
no
\
-DWITH_TLS
=
yes
\
-DWITH_TLS_PSK
=
yes
\
-DCMAKE_INSTALL_PREFIX
:PATH
=
$(DCDBDEPLOYPATH)
/
\
$(DCDBDEPSPATH)
/
$(M)
&&
\
make
-j
$(MAKETHREADS)
&&
make
install
&&
\
touch
$(DCDBDEPSPATH)
/
$(M)
/.installed
;
\
else
\
...
...
@@ -131,7 +172,9 @@ $(DCDBDEPSPATH)/.prerequesites: $(DCDBDEPSPATH)/.extract-distfiles
@
if
[
!
-e
$(DCDBDEPSPATH)
/
$(R)
/.installed
]
;
then
\
echo
""
;
\
echo
"Building Rudeconfig library..."
;
\
cd
$(DCDBDEPSPATH)
/
$(R)
&&
./configure
--prefix
=
$(DCDBDEPLOYPATH)
&&
\
cd
$(DCDBDEPSPATH)
/
$(R)
&&
./configure
--prefix
=
$(DCDBDEPLOYPATH)
\
CC
=
"
$(CC)
"
CFLAGS
=
"
$(CFLAGS)
"
CXX
=
"
$(CXX)
"
CXXFLAGS
=
"
$(CXXFLAGS)
"
\
$(AUTOCONF_CROSS_FLAGS)
&&
\
make
-j
$(MAKETHREADS)
&&
\
chmod
+x install-sh
&&
\
make
install
&&
\
...
...
@@ -142,7 +185,9 @@ $(DCDBDEPSPATH)/.prerequesites: $(DCDBDEPSPATH)/.extract-distfiles
$(eval O
:
= $(shell echo "$(DISTFILESPATHS)" | sed 's/.*OpenIPMI/OpenIPMI/' | sed 's/
\
.*//'))
$(
eval
X :
=
$(
shell
uname
))
@
if
[
!
-e
$(DCDBDEPSPATH)
/
$(O)
/.installed
]
;
then
\
@
if
[
"
$(ARCH)
"
=
"arm"
]
;
then
\
echo
"Skipping OpenIPMI - does not build on ARM"
;
\
elif
[
!
-e
$(DCDBDEPSPATH)
/
$(O)
/.installed
]
;
then
\
echo
""
;
\
echo
"Building OpenIPMI library..."
;
\
if
[
-e
$(DCDBDEPSPATH)
/patches/
$(O)
.patch
]
;
then
\
...
...
@@ -153,7 +198,10 @@ $(DCDBDEPSPATH)/.prerequesites: $(DCDBDEPSPATH)/.extract-distfiles
echo
"Fixing OpenIPMI for Mac OS..."
;
\
cd
$(DCDBDEPSPATH)
/
$(O)
&&
find
.
-name
'Makefile*'
| xargs
sed
-i
''
-e
's/Map/map/g'
;
\
fi
;
\
cd
$(DCDBDEPSPATH)
/
$(O)
&&
./configure
--prefix
=
$(DCDBDEPLOYPATH)
--with-swig
=
no
--with-perl
=
no
--with-python
=
no
CFLAGS
=
"
$(CFLAGS)
"
;
\
cd
$(DCDBDEPSPATH)
/
$(O)
&&
aclocal
&&
automake
;
\
cd
$(DCDBDEPSPATH)
/
$(O)
&&
./configure
--prefix
=
$(DCDBDEPLOYPATH)
--with-swig
=
no
--with-perl
=
no
--with-python
=
no
\
CC
=
"
$(CC)
"
CFLAGS
=
"
$(CFLAGS)
"
\
$(AUTOCONF_CROSS_FLAGS)
;
\
cd
$(DCDBDEPSPATH)
/
$(O)
&&
make
-j
$(MAKETHREADS)
&&
make
install
&&
touch
$(DCDBDEPSPATH)
/
$(O)
/.installed
;
\
else
\
echo
"Skipping OpenIPMI library (already built)..."
;
\
...
...
@@ -167,8 +215,12 @@ $(DCDBDEPSPATH)/.prerequesites: $(DCDBDEPSPATH)/.extract-distfiles
echo
"Patching Boost..."
;
\
cd
$(DCDBDEPSPATH)
/
$(B)
&&
(
patch
-N
-p2
<
$(DCDBDEPSPATH)
/patches/
$(B)
.patch
||
true
)
;
\
fi
;
\
if
[
"
$(ARCH)
"
=
"arm"
]
;
then
\
echo
" using gcc : arm :
$(CROSS_COMPILE)
g++ ; "
>
$(DCDBDEPSPATH)
/
$(B)
/tools/build/src/user-config.jam
;
\
fi
;
\
cd
$(DCDBDEPSPATH)
/
$(B)
&&
./bootstrap.sh
--prefix
=
$(DCDBDEPLOYPATH)
\
--with-libraries
=
atomic,chrono,date_time,exception,filesystem,program_options,random,system,thread,timer
&&
\
--with-libraries
=
atomic,chrono,date_time,exception,filesystem,program_options,random,system,thread,timer
;
\
cd
$(DCDBDEPSPATH)
/
$(B)
&&
\
./b2
-j
$(MAKETHREADS)
cxxflags
=
"
$(CXX11FLAGS)
"
install
&&
touch
$(DCDBDEPSPATH)
/
$(B)
/.installed
;
\
else
\
echo
"Skipping Boost (already built)..."
;
\
...
...
@@ -182,10 +234,10 @@ $(DCDBDEPSPATH)/.prerequesites: $(DCDBDEPSPATH)/.extract-distfiles
echo
"Patching net-snmp..."
;
\
cd
$(DCDBDEPSPATH)
/
$(S)
&&
(
patch
-N
-p1
<
$(DCDBDEPSPATH)
/patches/
$(S)
.patch
||
true
)
;
\
fi
;
\
cd
$(DCDBDEPSPATH)
/
$(S)
&&
env
CFLAGS
=
"
$(CFLAGS)
"
./configure
--prefix
=
$(DCDBDEPLOYPATH)
--with-default-snmp-version
=
"3"
\
cd
$(DCDBDEPSPATH)
/
$(S)
&&
env
CC
=
"
$(CC)
"
CFLAGS
=
"
$(CFLAGS)
"
./configure
--prefix
=
$(DCDBDEPLOYPATH)
--with-default-snmp-version
=
"3"
\
--with-sys-contact
=
"@@no.where"
--with-sys-location
=
"Unknown"
--with-logfile
=
"
$(DCDBDEPLOYPATH)
/var/log/snmpd.log"
\
--with-persistent-directory
=
"
$(DCDBDEPLOYPATH)
/var/net-snmp"
--disable-embedded-perl
--without-perl-modules
\
--with-openssl
=
$(DCDBDEPLOYPATH)
;
\
--with-openssl
=
$(DCDBDEPLOYPATH)
$(AUTOCONF_CROSS_FLAGS)
;
\
cd
$(DCDBDEPSPATH)
/
$(S)
&&
env
CFLAGS
=
"
$(CFLAGS)
"
make
-j
$(MAKETHREADS)
&&
make
install
&&
touch
$(DCDBDEPSPATH)
/
$(S)
/.installed
;
\
else
\
echo
"Skipping net-snmp (already built)..."
;
\
...
...
@@ -196,7 +248,7 @@ $(DCDBDEPSPATH)/.prerequesites: $(DCDBDEPSPATH)/.extract-distfiles
echo
""
;
\
echo
"Building libuv..."
;
\
cd
$(DCDBDEPSPATH)
/
$(U)
&&
\
env
CFLAGS
=
"
$(CFLAGS)
"
make
-j
$(MAKETHREADS)
;
\
env
CC
=
"
$(CC)
"
CFLAGS
=
"
$(CFLAGS)
"
make
-j
$(MAKETHREADS)
;
\
echo
"Installing libuv..."
;
\
mkdir
-p
$(DCDBDEPLOYPATH)
/include/uv-private
;
\
cd
$(DCDBDEPSPATH)
/
$(U)
&&
install
-c
include/uv.h
$(DCDBDEPLOYPATH)
/include/
;
\
...
...
@@ -211,7 +263,7 @@ $(DCDBDEPSPATH)/.prerequesites: $(DCDBDEPSPATH)/.extract-distfiles
fi
$(eval D
:
= $(shell echo "$(DISTFILESPATHS)" | sed 's/.*cpp-driver/cpp-driver/' | sed 's/
\
.*//'))
@
if
[
!
-e
$(DCDBDEPSPATH)
/
$(D)
/.installed
]
;
then
\
if
[
!
-e
$(DCDBDEPSPATH)
/
$(D)
/.installed
]
;
then
\
echo
""
;
\
echo
"Building cpp-driver..."
;
\
if
[
-e
$(DCDBDEPSPATH)
/patches/
$(D)
.patch
]
;
then
\
...
...
@@ -220,10 +272,12 @@ $(DCDBDEPSPATH)/.prerequesites: $(DCDBDEPSPATH)/.extract-distfiles
fi
;
\
mkdir
-p
$(DCDBDEPSPATH)
/cpp-driver_build
;
\
cd
$(DCDBDEPSPATH)
/cpp-driver_build
&&
\
cmake
-DCMAKE_CXX_FLAGS
=
"
$(CXX11FLAGS)
-Wno-unused-command-line-argument -L
$(DCDBDEPLOYPATH)
/lib "
\
cmake
--debug-output
$(CMAKE_CROSS_FLAGS)
\
-DCMAKE_CXX_FLAGS
=
"
$(CXX11FLAGS)
-Wno-unused-command-line-argument -L
$(DCDBDEPLOYPATH)
/lib "
\
-DCASS_USE_EXTERNAL_BOOST
=
YES
\
-DBOOST_ROOT
=
$(DCDBDEPLOYPATH)
/
\
-DOPENSSL_ROOT_DIR
=
$(DCDBDEPLOYPATH)
/
\
-DLIBUV_ROOT_DIR
=
$(DCDBDEPLOYPATH)
/
\
-DCASS_BUILD_EXAMPLES
=
NO
\
-DINSTALL_LIB_DIR
=
lib
\
-DCMAKE_INSTALL_PREFIX
=
$(DCDBDEPLOYPATH)
/
\
...
...
@@ -278,13 +332,19 @@ $(DCDBDEPSPATH)/%/.dirstamp: $(DCDBDEPSPATH)/.download-distfiles
$(LIBRARIES)
:
$(DCDBDEPSPATH)/.prerequesites
@
echo
""
@
echo
"Building Library
$@
..."
@
$(MAKE)
-j
$(MAKETHREADS)
-C
$@
@
$(MAKE)
-j
$(MAKETHREADS)
CC
=
$(CC)
CXX
=
$(CXX)
-C
$@
@
echo
"Installing Library
$@
..."
@
$(MAKE)
-C
$@
install
@
$(MAKE)
CC
=
$(CC)
CXX
=
$(CXX)
-C
$@
install
$(PROJECTS)
:
@
echo
""
@
echo
"Building
$@
..."
@
$(MAKE)
-j
$(MAKETHREADS)
-C
$@
@
echo
"Installing
$@
..."
@
$(MAKE)
-C
$@
install
$(
eval
X :
=
$(
shell
echo
"
$(SKIP_PROJECTS)
"
|
grep
"
$@
"
))
@
if
[[
"
$(X)
"
=
""
]]
;
then
\
echo
""
;
\
echo
"Building
$@
..."
;
\
$(MAKE)
-j
$(MAKETHREADS)
CC
=
$(CC)
CXX
=
$(CXX)
-C
$@
;
\
echo
"Installing
$@
..."
;
\
$(MAKE)
CC
=
$(CC)
CXX
=
$(CXX)
-C
$@
install
;
\
else
\
echo
""
;
\
echo
"Skipping
$@
..."
;
\
fi
patches/OpenIPMI-2.0.21.patch
View file @
26361b6c
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment