Skip to content

Commit 1d4f20d

Browse files
committed
Merge branch 'split'
2 parents ddeecc8 + 0157a54 commit 1d4f20d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+614
-775
lines changed

.github/workflows/build-and-test.yml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ jobs:
2424
run: ./configure
2525
- name: Run make
2626
run: make CFLAGS='-Werror'
27+
# - name: Run make distcheck
28+
# run: make distcheck
2729
- name: Prepare tests
2830
run: |
2931
pulseaudio -D
@@ -37,9 +39,9 @@ jobs:
3739
- name: run shmem test
3840
run: ./cava -p example_files/test_configs/shmem_zero_test > /dev/null
3941
- name: build cavacore test application
40-
run: gcc -c -g cavacore_test.c
42+
run: gcc -I include -c -g cavacore_test.c
4143
- name: link cavacore test application
42-
run: gcc -o cavacore_test cavacore_test.o src/cava-cavacore.o -lm -lfftw3
44+
run: gcc -o cavacore_test cavacore_test.o cava-cavacore.o -lm -lfftw3
4345
- name: run cavacore test application
4446
run: ./cavacore_test
4547
build-linux-meson:
@@ -67,12 +69,11 @@ jobs:
6769
- name: run shmem test
6870
run: ./build/cava -p example_files/test_configs/shmem_zero_test > /dev/null
6971
- name: build cavacore test application
70-
run: gcc -c -g cavacore_test.c
72+
run: gcc -I include -c -g cavacore_test.c
7173
- name: link cavacore test application
72-
run: gcc -o cavacore_test cavacore_test.c build/libcava.so.p/src_cavacore.c.o -lm -lfftw3
74+
run: gcc -I include -o cavacore_test cavacore_test.c build/libcava.so.p/cavacore.c.o -lm -lfftw3
7375
- name: run cavacore test application
7476
run: ./cavacore_test
75-
7677
build-macos:
7778
runs-on: macos-latest
7879
steps:

CMakeLists.txt

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ if (ANDROID)
1717
if (NOT EXISTS "${FFTW_DIR}/obj/local/${CMAKE_ANDROID_ARCH_ABI}/")
1818
message(FATAL_ERROR "given lib dir: ${FFTW_DIR}/obj/local/${CMAKE_ANDROID_ARCH_ABI}/ does not exist, did you build it? See cavandroid/README.md")
1919
endif()
20-
target_include_directories(cavacore PRIVATE "${FFTW_DIR}/jni/fftw3/api/")
20+
target_include_directories(cavacore PRIVATE "${FFTW_DIR}/jni/fftw3/api/" include)
2121
target_link_directories(cavacore PRIVATE "${FFTW_DIR}/obj/local/${CMAKE_ANDROID_ARCH_ABI}/")
2222
target_link_libraries(cavacore fftw3)
2323
elseif(WIN32)
@@ -27,18 +27,17 @@ elseif(WIN32)
2727
find_package(Threads)
2828

2929
add_executable(cava
30-
src/cava.c
31-
src/cavacore.c
32-
src/config.c
33-
src/common.c
34-
src/input/common.c
35-
src/input/winscap.c
36-
src/output/common.c
37-
src/output/sdl_cava.c
38-
src/output/sdl_glsl.c
39-
src/output/terminal_noncurses.c
40-
src/output/raw.c
41-
src/output/noritake.c
30+
cava.c
31+
cavacore.c
32+
config.c
33+
input/common.c
34+
input/winscap.c
35+
output/common.c
36+
output/sdl_cava.c
37+
output/sdl_glsl.c
38+
output/terminal_noncurses.c
39+
output/raw.c
40+
output/noritake.c
4241
cava_win/cava/cava.rc
4342
)
4443

Makefile.am

Lines changed: 82 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,66 @@ AUTOMAKE_OPTIONS = foreign
22

33
ACLOCAL_AMFLAGS = -I m4
44

5+
CLEANFILES = $(NULL)
6+
7+
# Install the pkgconfig file for the library
8+
pkgconfigdir = $(libdir)/pkgconfig
9+
pkgconfig_DATA = libcava.pc
10+
11+
# Generate the pkgconfig file
12+
libcava.pc: Makefile.am
13+
@echo "Generating $@..."
14+
@mkdir -p $(@D)
15+
@echo "prefix=$(prefix)" > $@
16+
@echo "exec_prefix=$(exec_prefix)" >> $@
17+
@echo "libdir=$(libdir)" >> $@
18+
@echo "includedir=$(includedir)" >> $@
19+
@echo "Name: $(PKG_CONFIG_NAME)" >> $@
20+
@echo "Description: $(PKG_CONFIG_DESC)" >> $@
21+
@echo "Version: $(PKG_CONFIG_VERSION)" >> $@
22+
@echo "Libs: -L\$(libdir) -lcava" >> $@ # Link against libcava library
23+
@echo "Cflags: -I\$(includedir)/cava -I\$(includedir)/cava/input -I\$(includedir)/cava/output" >> $@
24+
25+
# Clean up the generated pkgconfig file
26+
CLEANFILES += libcava.pc
27+
28+
# Define the library to be built
29+
# 'lib' directory implies shared library by default with Automake.
30+
# Use 'noinst_LTLIBRARIES' if you don't want to install it but build it for internal use.
31+
lib_LTLIBRARIES = libcava.la
32+
33+
AM_LIBTOOL_VERSION = $(AM_LIBTOOL_CURRENT):$(AM_LIBTOOL_REVISION):$(AM_LIBTOOL_RELEASE)
34+
AM_LIBTOOL_REL = $(AM_LIBTOOL_RELEASE):$(AM_LIBTOOL_REVISION):$(AM_LIBTOOL_CURRENT)
35+
36+
libcava_la_LDFLAGS = -version-info $(AM_LIBTOOL_REL)
37+
538
bin_PROGRAMS = cava
39+
640
cavadir = $(top_srcdir)
7-
cava_SOURCES = src/cava.c src/cavacore.c src/common.c src/config.c src/input/common.c src/input/fifo.c src/input/shmem.c \
8-
src/output/terminal_noncurses.c src/output/raw.c src/output/noritake.c src/output/common.c\
9-
include/cava/cavacore.h include/cava/config.h include/cava/input/common.h include/cava/input/fifo.h include/cava/input/shmem.h \
10-
include/cava/output/terminal_noncurses.h include/cava/output/raw.h include/cava/output/noritake.h \
11-
include/cava/debug.h include/cava/util.h third_party/incbin.h
12-
cava_CPPFLAGS = -DPACKAGE=\"$(PACKAGE)\" -DVERSION=\"$(VERSION)\" \
13-
-D_POSIX_SOURCE -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE_EXTENDED \
14-
-DFONTDIR=\"@FONT_DIR@\" -DFONTFILE=\"@FONT_FILE@\" \
15-
-I$(top_builddir) -I$(top_builddir)/include
41+
cava_SOURCES = cava.c
42+
libcava_la_SOURCES = cavacore.c config.c input/common.c input/fifo.c input/shmem.c \
43+
output/common.c output/terminal_noncurses.c output/raw.c output/noritake.c
44+
45+
cava_CPPFLAGS = \
46+
-DPACKAGE=\"$(PACKAGE)\" \
47+
-DVERSION=\"$(VERSION)\" \
48+
-DLIB_VERSION=\"$(VERSION)\" \
49+
-D_POSIX_SOURCE \
50+
-D_POSIX_C_SOURCE=200809L \
51+
-D_XOPEN_SOURCE_EXTENDED \
52+
-DFONTDIR=\"@FONT_DIR@\" \
53+
-DFONTFILE=\"@FONT_FILE@\" \
54+
-I$(srcdir) \
55+
-I$(srcfir)/input \
56+
-I$(srcfir)/output \
57+
-I$(srcdir)/include
58+
59+
AM_CFLAGS = $(cava_CPPFLAGS)
60+
1661
cava_CFLAGS = -std=c99 -Wall -Wextra -Wno-unused-result -Wno-unknown-warning-option -Wno-maybe-uninitialized -Wno-vla-parameter
1762

1863
EXTRA_DIST = \
64+
include \
1965
output/shaders/pass_through.vert \
2066
output/shaders/bar_spectrum.frag \
2167
output/shaders/northern_lights.frag \
@@ -32,6 +78,19 @@ EXTRA_DIST = \
3278
.clang-format \
3379
CMakeLists.txt
3480

81+
# Install entire directories preserving structure
82+
dist-hook:
83+
cp -r include/cava $(DESTDIR)$(includedir)
84+
# Define the target to install the headers
85+
install-exec-hook:
86+
@$(MKDIR_P) $(DESTDIR)$(includedir)/cava
87+
# Install entire directories preserving structure
88+
install-data-hook:
89+
cp -r include/cava/* $(DESTDIR)$(includedir)/cava/
90+
# Define uninstall hook to remove the directory
91+
uninstall-hook:
92+
$(AM_V_GEN) rm -rf "$(DESTDIR)$(includedir)/cava"
93+
3594
if OSX
3695
cava_CFLAGS += -DNORT
3796
cava_LDADD =
@@ -43,7 +102,7 @@ endif
43102

44103
if FREEBSD
45104
if CAVAFONT
46-
CLEANFILES = cava.bdf cava.fnt
105+
CLEANFILES += cava.bdf cava.fnt
47106

48107
cava.fnt: ${srcdir}/cava.psf
49108
${PSF2BDF} --fontname="-gnu-cava-medium-r-normal--16-160-75-75-c-80-iso10646-1" ${srcdir}/cava.psf cava.bdf
@@ -52,43 +111,45 @@ endif
52111
endif
53112

54113
if ALSA
55-
cava_SOURCES += src/input/alsa.c include/cava/input/alsa.h
114+
libcava_la_SOURCES += input/alsa.c input/alsa.h
56115
endif
57116

58117
if PORTAUDIO
59-
cava_SOURCES += src/input/portaudio.c include/cava/input/portaudio.h
118+
libcava_la_SOURCES += input/portaudio.c input/portaudio.h
60119
endif
61120

62121
if PIPEWIRE
63-
cava_SOURCES += src/input/pipewire.c include/cava/input/pipewire.h
122+
libcava_la_SOURCES += input/pipewire.c input/pipewire.h
64123
endif
65124

66125
if PULSE
67-
cava_SOURCES += src/input/pulse.c include/cava/input/pulse.h
126+
libcava_la_SOURCES += input/pulse.c input/pulse.h
68127
endif
69128

70129
if SNDIO
71-
cava_SOURCES += src/input/sndio.c include/cava/input/sndio.h
130+
libcava_la_SOURCES += input/sndio.c input/sndio.h
72131
endif
73132

74133
if OSS
75-
cava_SOURCES += src/input/oss.c include/cava/input/oss.h
134+
libcava_la_SOURCES += input/oss.c input/oss.h
76135
endif
77136

78137
if JACK
79-
cava_SOURCES += src/input/jack.c include/cava/input/jack.h
138+
libcava_la_SOURCES += input/jack.c input/jack.h
80139
endif
81140

82141
if NCURSES
83-
cava_SOURCES += src/output/terminal_ncurses.c src/output/terminal_bcircle.c \
84-
include/cava/output/terminal_ncurses.h include/cava/output/terminal_bcircle.h
142+
libcava_la_SOURCES += output/terminal_ncurses.c output/terminal_bcircle.c \
143+
output/terminal_ncurses.h output/terminal_bcircle.h
85144

86145
endif
87146

88147
if SDL
89-
cava_SOURCES += src/output/sdl_cava.c include/cava/output/sdl_cava.h
148+
libcava_la_SOURCES += output/sdl_cava.c output/sdl_cava.h
90149
endif
91150

92151
if SDL_GLSL
93-
cava_SOURCES += src/output/sdl_glsl.c include/cava/output/sdl_glsl.h
152+
libcava_la_SOURCES += output/sdl_glsl.c output/sdl_glsl.h
94153
endif
154+
155+
cava_SOURCES += $(libcava_la_SOURCES)

autogen.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set -e
55
if [ -d .git ]; then
66
git describe --always --tags --dirty > version # get version from git
77
else
8-
echo 0.10.6 > version # hard coded versions
8+
echo 0.10.7 > version # hard coded versions
99
fi
1010

1111
libtoolize

0 commit comments

Comments
 (0)