mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-10-29 05:40:23 -04:00
build: Simplify Orc-related make rules
This greatly simplifies the Orc-related make rules. The old system of distributing generated files is gone, which means that anyone who wants to build with Orc support enabled needs to have the orcc compiler installed (presumably the orc 'devel' package in most distros).
This commit is contained in:
parent
548e1026e3
commit
a9d824925d
5 changed files with 47 additions and 371 deletions
74
orc.mak
74
orc.mak
|
|
@ -1,35 +1,33 @@
|
|||
#
|
||||
# This is a makefile.am fragment to build Orc code.
|
||||
# This is a Makefile.am fragment to build Orc code. It is based
|
||||
# on the orc.mak file distributed in the GStreamer common
|
||||
# repository.
|
||||
#
|
||||
# Define ORC_SOURCE and then include this file, such as:
|
||||
# Include this file like this:
|
||||
#
|
||||
# ORC_SOURCE=gstadderorc
|
||||
# include $(top_srcdir)/common/orc.mak
|
||||
# include $(top_srcdir)/orc.mak
|
||||
#
|
||||
# This fragment will create tmp-orc.c and gstadderorc.h from
|
||||
# gstadderorc.orc.
|
||||
# For each Orc source file, append its name (without the extension)
|
||||
# to ORC_SOURCE:
|
||||
#
|
||||
# When 'make dist' is run at the top level, or 'make orc-update'
|
||||
# in a directory including this fragment, the generated source
|
||||
# files will be copied to $(ORC_SOURCE)-dist.[ch]. These files
|
||||
# should be checked in to git, since they are used if Orc is
|
||||
# disabled.
|
||||
# ORC_SOURCE += gstadderorc
|
||||
#
|
||||
# Note that this file defines BUILT_SOURCES, so any later usage
|
||||
# of BUILT_SOURCES in the Makefile.am that includes this file
|
||||
# must use '+='.
|
||||
# This will create gstadder-orc-gen.c and gstadder-orc-gen.h, which
|
||||
# you need to add to your nodist_module_SOURCES.
|
||||
#
|
||||
# Note that this file appends to BUILT_SOURCES and CLEANFILES, so
|
||||
# define them before including this file.
|
||||
#
|
||||
|
||||
|
||||
EXTRA_DIST += $(ORC_SOURCE).orc
|
||||
EXTRA_DIST += $(addsuffix .orc,$(ORC_SOURCE))
|
||||
|
||||
ORC_NODIST_SOURCES = tmp-orc.c $(ORC_SOURCE).h
|
||||
BUILT_SOURCES += tmp-orc.c $(ORC_SOURCE).h
|
||||
ORC_BUILT_SOURCE = $(addsuffix -orc-gen.c,$(ORC_SOURCE))
|
||||
ORC_BUILT_HEADER = $(addsuffix -orc-gen.h,$(ORC_SOURCE))
|
||||
|
||||
BUILT_SOURCES += $(ORC_BUILT_SOURCE) $(ORC_BUILT_HEADER)
|
||||
CLEANFILES += $(BUILT_SOURCES)
|
||||
|
||||
orc-update: tmp-orc.c $(ORC_SOURCE).h
|
||||
cp tmp-orc.c $(srcdir)/$(ORC_SOURCE)-dist.c
|
||||
cp $(ORC_SOURCE).h $(srcdir)/$(ORC_SOURCE)-dist.h
|
||||
|
||||
orcc_v_gen = $(orcc_v_gen_$(V))
|
||||
orcc_v_gen_ = $(orcc_v_gen_$(AM_DEFAULT_VERBOSITY))
|
||||
|
|
@ -39,34 +37,10 @@ cp_v_gen = $(cp_v_gen_$(V))
|
|||
cp_v_gen_ = $(cp_v_gen_$(AM_DEFAULT_VERBOSITY))
|
||||
cp_v_gen_0 = @echo " CP $@";
|
||||
|
||||
if HAVE_ORC
|
||||
tmp-orc.c: $(srcdir)/$(ORC_SOURCE).orc
|
||||
$(orcc_v_gen)$(ORCC) --implementation -o $(builddir)/tmp-orc.c $(srcdir)/$(ORC_SOURCE).orc
|
||||
%-orc-gen.c: %.orc
|
||||
@mkdir -p $(@D)
|
||||
$(orcc_v_gen)$(ORCC) --implementation -o $@ $<
|
||||
|
||||
$(ORC_SOURCE).h: $(srcdir)/$(ORC_SOURCE).orc
|
||||
mkdir -p $$(dirname $(builddir)/$(ORC_SOURCE).h)
|
||||
$(orcc_v_gen)$(ORCC) --header -o $(builddir)/$(ORC_SOURCE).h $(srcdir)/$(ORC_SOURCE).orc
|
||||
else
|
||||
tmp-orc.c: $(srcdir)/$(ORC_SOURCE).orc
|
||||
$(cp_v_gen)cp $(srcdir)/$(ORC_SOURCE)-dist.c tmp-orc.c
|
||||
|
||||
$(ORC_SOURCE).h: $(srcdir)/$(ORC_SOURCE).orc
|
||||
$(cp_v_gen)cp $(srcdir)/$(ORC_SOURCE)-dist.h $(ORC_SOURCE).h
|
||||
endif
|
||||
|
||||
clean-local: clean-orc
|
||||
.PHONY: clean-orc
|
||||
clean-orc:
|
||||
rm -f tmp-orc.c $(ORC_SOURCE).h
|
||||
|
||||
dist-hook: dist-hook-orc
|
||||
.PHONY: dist-hook-orc
|
||||
dist-hook-orc: tmp-orc.c $(ORC_SOURCE).h
|
||||
rm -f tmp-orc.c~
|
||||
cmp -s tmp-orc.c $(srcdir)/$(ORC_SOURCE)-dist.c || \
|
||||
cp tmp-orc.c $(srcdir)/$(ORC_SOURCE)-dist.c
|
||||
cmp -s $(ORC_SOURCE).h $(srcdir)/$(ORC_SOURCE)-dist.h || \
|
||||
cp $(ORC_SOURCE).h $(srcdir)/$(ORC_SOURCE)-dist.h
|
||||
mkdir -p $$(dirname $(ORC_SOURCE))
|
||||
cp -p $(srcdir)/$(ORC_SOURCE)-dist.c $(distdir)/$$(dirname $(ORC_SOURCE))
|
||||
cp -p $(srcdir)/$(ORC_SOURCE)-dist.h $(distdir)/$$(dirname $(ORC_SOURCE))
|
||||
%-orc-gen.h: %.orc
|
||||
@mkdir -p $(@D)
|
||||
$(orcc_v_gen)$(ORCC) --header -o $@ $<
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue