this step unify the builing system for all platforms (windows, linux,
osx and *BSD)
* Requirements:
- gcc/clang (C/C++ compiler) (in debian build-essential)
- cmake (in debian cmake)
- git if you build from source (in debian git)
- posix threads
** Requirements on *BSD/macOS:
- portaudio
** Optional Requirements:
- gpsd (in debian libgps-dev)
- libhamlib (in debian libhamlib-dev)
** Optional Requirements in Linux
- udev (in debian libudev-dev)
- alsa (in debian libasound2-dev)
* Main changes:
- version is now set only on CMakeLists.txt and automatically used
on the code
- cpu flags are auto-discovered in the default build and it works
on gcc/clang/msvc on x86/x86_64/arm; you can force cpu flags with
-DFORCE_SSE=1 for example (see CMakeLists.txt on root)
- use a more "complex" tag on generic.conf to facilitate parsing
by cmake (not more platform dependent). Now it is %C% or %R% for
example
- target `tocalls-symbols` is now called `data-update`
- created debian/ directory to contains files to use debuild
* Example to build:
mkdir build && cd build
cmake ..
make
make install
make install-conf
then you have the binary files on src/ and in the system directory
* CMake options (see the head of CMakeLists.txt)
- FORCE_SSE force sse instruction
- FORCE_SSSE3 force ssse3 instruction
- FORCE_SSE41 force ssse4.1 instruction
- OPTIONAL_TEST compile optional test (might be broken)
- BUILD_TESTING enable tests (ctest framework)
- CMAKE_INSTALL_PREFIX if you want to change your install path
prefix
for example:
cmake .. -DOPTIONAL_TEST=ON
Bug fix for reading config files, a number of warning fixes, and a fix that allows Clang to be used to compile direwolf.
modified: .gitignore
modified: Makefile.linux
modified: aclients.c
modified: audio.c
modified: config.c
modified: demod_afsk.c
modified: dwgpsd.c
modified: igate.c
modified: kiss.c
modified: kissnet.c
modified: ttcalc.c
Changes to be committed:
new file: .gitattributes
new file: .gitignore
new file: APRStt-Implementation-Notes.pdf
new file: CHANGES.txt
new file: LICENSE-dire-wolf.txt
new file: LICENSE-other.txt
new file: Makefile.linux
new file: Makefile.win
new file: Quick-Start-Guide-Windows.pdf
new file: Raspberry-Pi-APRS.pdf
new file: User-Guide.pdf
new file: aclients.c
new file: aprs_tt.c
new file: aprs_tt.h
new file: atest.c
new file: audio.c
new file: audio.h
new file: audio_win.c
new file: ax25_pad.c
new file: ax25_pad.h
new file: beacon.c
new file: beacon.h
new file: config.c
new file: config.h
new file: decode_aprs.c
new file: decode_aprs.h
new file: dedupe.c
new file: dedupe.h
new file: demod.c
new file: demod.h
new file: demod_9600.c
new file: demod_9600.h
new file: demod_afsk.c
new file: demod_afsk.h
new file: digipeater.c
new file: digipeater.h
new file: direwolf.c
new file: direwolf.conf
new file: direwolf.desktop
new file: direwolf.h
new file: dsp.c
new file: dsp.h
new file: dtmf.c
new file: dtmf.h
new file: dw-icon.ico
new file: dw-icon.png
new file: dw-icon.rc
new file: dw-start.sh
new file: dwgps.c
new file: dwgps.h
new file: encode_aprs.c
new file: encode_aprs.h
new file: fcs_calc.c
new file: fcs_calc.h
new file: fsk_demod_agc.h
new file: fsk_demod_state.h
new file: fsk_filters.h
new file: fsk_gen_filter.h
new file: gen_packets.c
new file: gen_tone.c
new file: gen_tone.h
new file: hdlc_rec.c
new file: hdlc_rec.h
new file: hdlc_rec2.c
new file: hdlc_rec2.h
new file: hdlc_send.c
new file: hdlc_send.h
new file: igate.c
new file: igate.h
new file: kiss.c
new file: kiss.h
new file: kiss_frame.c
new file: kiss_frame.h
new file: kissnet.c
new file: kissnet.h
new file: latlong.c
new file: latlong.h
new file: ll2utm.c
new file: misc/README-dire-wolf.txt
new file: misc/strcasestr.c
new file: misc/strsep.c
new file: misc/strtok_r.c
new file: morse.c
new file: multi_modem.c
new file: multi_modem.h
new file: ptt.c
new file: ptt.h
new file: pttest.c
new file: rdq.c
new file: rdq.h
new file: redecode.c
new file: redecode.h
new file: regex/COPYING
new file: regex/INSTALL
new file: regex/LICENSES
new file: regex/NEWS
new file: regex/README
new file: regex/README-dire-wolf.txt
new file: regex/re_comp.h
new file: regex/regcomp.c
new file: regex/regex.c
new file: regex/regex.h
new file: regex/regex_internal.c
new file: regex/regex_internal.h
new file: regex/regexec.c
new file: rrbb.c
new file: rrbb.h
new file: server.c
new file: server.h
new file: symbols-new.txt
new file: symbols.c
new file: symbols.h
new file: symbolsX.txt
new file: textcolor.c
new file: textcolor.h
new file: tocalls.txt
new file: tq.c
new file: tq.h
new file: tt_text.c
new file: tt_text.h
new file: tt_user.c
new file: tt_user.h
new file: tune.h
new file: udp_test.c
new file: utm/LatLong-UTMconversion.c
new file: utm/LatLong-UTMconversion.h
new file: utm/README.txt
new file: utm/SwissGrid.cpp
new file: utm/UTMConversions.cpp
new file: utm/constants.h
new file: utm2ll.c
new file: version.h
new file: xmit.c
new file: xmit.h