From e17f271ba679d9f5f5090126b1a43bcc0063feb4 Mon Sep 17 00:00:00 2001 From: Norman Feske Date: Sat, 17 May 2014 02:21:34 +0200 Subject: [PATCH] dde_oss: migrate to new ports mechanism Issue #1082 --- repos/dde_oss/Makefile | 110 +----------------- repos/dde_oss/ports/oss.hash | 1 + repos/dde_oss/ports/oss.port | 84 +++++++++++++ repos/dde_oss/src/drivers/audio_out/target.mk | 8 +- 4 files changed, 93 insertions(+), 110 deletions(-) create mode 100644 repos/dde_oss/ports/oss.hash create mode 100644 repos/dde_oss/ports/oss.port diff --git a/repos/dde_oss/Makefile b/repos/dde_oss/Makefile index 24e91482d..6a229c552 100644 --- a/repos/dde_oss/Makefile +++ b/repos/dde_oss/Makefile @@ -2,74 +2,10 @@ # \brief Download and setup OSS sources # \author Sebastian Sumpf # \date 2012-08-30 - -CONTRIB_DIR = contrib -DOWNLOAD_DIR = download -VERBOSE ?= @ -ECHO = @echo -CC ?= gcc -PATCHES := $(shell find patches -name \*.patch) - -OSS = oss-v4.2-build2006-src-bsd -OSS_TBZ2 = $(OSS).tar.bz2 -OSS_URL = http://www.4front-tech.com/developer/sources/stable/bsd/$(OSS_TBZ2) - - -# needed for preparation -CONTENT_SETUP = $(addprefix setup/,srcconf.c srcconf_freebsd.inc srcconf_vxworks.inc gen_driver_freebsd.inc) -CONTENT += $(CONTENT_SETUP) - -# oss framework -CONTENT_FRAMEWORK = $(addprefix kernel/framework/include/,oss_config.h oss_memblk.h \ - oss_version.h audio_core.h mixer_core.h oss_calls.h \ - internal.h oss_pci.h spdif.h midi_core.h grc3.h ac97.h \ - ossddk/oss_exports.h ossddk/oss_limits.PHh ossddk/ossddk.h) -CONTENT += $(CONTENT_FRAMEWORK) - -# oss core -CONTENT_CORE = $(addprefix kernel/framework/osscore/,oss_memblk.c oss_core_options.c \ - oss_core_services.c) -CONTENT += $(CONTENT_CORE) -CONTENT += include/soundcard.h kernel/drv/.config - -# audio core -CONTENT_AUDIO = $(addprefix kernel/framework/audio/,oss_audio_core.c oss_spdif.c oss_audiofmt.c \ - ulaw.h audiocnv.inc oss_grc3.c fltdata2_h.inc \ - grc3code.inc grc3inc.inc) -CONTENT += $(CONTENT_AUDIO) - -# mixer core -CONTENT_MIXER = $(addprefix kernel/framework/mixer/,oss_mixer_core.c mixerdefs.h) -CONTENT += $(CONTENT_MIXER) - -# vmixer core -CONTENT_VMIX = $(addprefix kernel/framework/vmix_core/,vmix_core.c vmix_input.c vmix.h db_scale.h \ - vmix_import.inc vmix_import_int.inc \ - rec_export.inc rec_export_int.inc \ - vmix_output.c outexport.inc outexport_int.inc \ - playmix.inc playmix_int.inc playmix_src.inc) -CONTENT += $(CONTENT_VMIX) - -# midi core -CONTENT_MIDI = $(addprefix kernel/framework/midi/,oss_midi_core.c oss_midi_timers.c oss_midi_mapper.c \ - oss_midi_queue.c) -CONTENT += $(CONTENT_MIDI) - -# AC97 core -CONTENT += kernel/framework/ac97 - -# drivers -CONTENT_DRV += oss_ich oss_hdaudio oss_audiopci -CONTENT += $(addprefix kernel/drv/,$(CONTENT_DRV)) - - # -# Utility to check if a tool is installed -# -check_tool = $(if $(shell which $(1)),,$(error Need to have '$(1)' installed.)) -$(call check_tool,wget) -$(call check_tool,patch) +VERBOSE ?= @ +ECHO = @echo # # Print help information by default @@ -80,45 +16,7 @@ help: $(ECHO) $(ECHO) "--- available commands ---" $(ECHO) "prepare - download and integrate OSS source code" - $(ECHO) "clean - remove contib sources except downloaded archives" - $(ECHO) "cleanall - remove contib sources and downloaded archives" $(ECHO) -# -# Build and execute 'srcconf' utility, build 'devices.list' -# -setup: - $(VERBOSE)ln -sf srcconf_freebsd.inc $(CONTRIB_DIR)/setup/srcconf_linux.inc - $(VERBOSE)ln -sf gen_driver_freebsd.inc $(CONTRIB_DIR)/setup/gen_driver_linux.inc - $(VERBOSE)mkdir -p $(CONTRIB_DIR)/kernel/framework/include - $(VERBOSE)mkdir -p $(CONTRIB_DIR)/kernel/OS/Linux - $(VERBOSE)$(CC) -g -I$(CONTRIB_DIR)/setup -o srcconf $(CONTRIB_DIR)/setup/srcconf.c - $(VERBOSE)cat `find $(CONTRIB_DIR)/kernel/drv -name .devices`| grep -v '^#' > $(CONTRIB_DIR)/devices.list - $(VERBOSE)cd $(CONTRIB_DIR) && ../srcconf - $(VERBOSE)cd $(CONTRIB_DIR)/target/build ; for f in *.c; do mv $$f pci_$$f; done - $(VERBOSE)rm srcconf - -prepare: $(CONTRIB_DIR)/.prepared setup - -$(CONTRIB_DIR)/.prepared: Makefile -$(CONTRIB_DIR)/.prepared: $(DOWNLOAD_DIR)/$(OSS_TBZ2) - $(ECHO) "extracting source code to '$(CONTRIB_DIR)'" - $(VERBOSE)tar xfj $< --transform "s/$(OSS)/$(CONTRIB_DIR)/" $(addprefix $(OSS)/,$(CONTENT)) - $(VERBOSE)touch $@ - $(ECHO) "applying patches to '$(CONTRIB_DIR)/'" - $(VERBOSE)for i in $(PATCHES); do patch -d $(CONTRIB_DIR) -p1 < $$i; done - - -$(DOWNLOAD_DIR): - $(VERBOSE)mkdir -p $@ - -$(DOWNLOAD_DIR)/$(OSS_TBZ2): $(DOWNLOAD_DIR) - $(ECHO) "downloading source code to '$@'" - $(VERBOSE)cd $(DOWNLOAD_DIR); wget -c $(OSS_URL) - $(VERBOSE)touch $@ - -clean: - $(VERBOSE)rm -rf $(CONTRIB_DIR) - -cleanall: clean - $(VERBOSE)rm -rf $(DOWNLOAD_DIR) +prepare: + $(VERBOSE)../../tool/ports/prepare_port oss diff --git a/repos/dde_oss/ports/oss.hash b/repos/dde_oss/ports/oss.hash new file mode 100644 index 000000000..421376db9 --- /dev/null +++ b/repos/dde_oss/ports/oss.hash @@ -0,0 +1 @@ +dummy diff --git a/repos/dde_oss/ports/oss.port b/repos/dde_oss/ports/oss.port new file mode 100644 index 000000000..194d3bc8c --- /dev/null +++ b/repos/dde_oss/ports/oss.port @@ -0,0 +1,84 @@ +LICENSE := BSD +VERSION := 4.2 +DOWNLOADS := oss.archive + +oss := oss-v4.2-build2006-src-bsd +URL(oss) := http://www.4front-tech.com/developer/sources/stable/bsd/$(oss).tar.bz2 +SHA(oss) := ff1eb11952f05c27fdf8f9d4f64c8f7bbe2abdd4 +DIR(oss) := src/lib/oss + +PATCHES := $(addprefix patches/,$(notdir $(wildcard $(REP_DIR)/patches/*.patch))) +PATCH_OPT := -p1 -d src/lib/oss + +# +# Define the portions of the tar archive to extract +# + +# needed for preparation +content_setup = $(addprefix setup/,srcconf.c srcconf_freebsd.inc srcconf_vxworks.inc gen_driver_freebsd.inc) +content += $(content_setup) + +# oss framework +content_framework = $(addprefix kernel/framework/include/,oss_config.h oss_memblk.h \ + oss_version.h audio_core.h mixer_core.h oss_calls.h \ + internal.h oss_pci.h spdif.h midi_core.h grc3.h ac97.h \ + ossddk/oss_exports.h ossddk/oss_limits.PHh ossddk/ossddk.h) +content += $(content_framework) + +# oss core +content_core = $(addprefix kernel/framework/osscore/,oss_memblk.c oss_core_options.c \ + oss_core_services.c) +content += $(content_core) +content += include/soundcard.h kernel/drv/.config + +# audio core +content_audio = $(addprefix kernel/framework/audio/,oss_audio_core.c oss_spdif.c oss_audiofmt.c \ + ulaw.h audiocnv.inc oss_grc3.c fltdata2_h.inc \ + grc3code.inc grc3inc.inc) +content += $(content_audio) + +# mixer core +content_mixer = $(addprefix kernel/framework/mixer/,oss_mixer_core.c mixerdefs.h) +content += $(content_mixer) + +# vmixer core +content_vmix = $(addprefix kernel/framework/vmix_core/,vmix_core.c vmix_input.c vmix.h db_scale.h \ + vmix_import.inc vmix_import_int.inc \ + rec_export.inc rec_export_int.inc \ + vmix_output.c outexport.inc outexport_int.inc \ + playmix.inc playmix_int.inc playmix_src.inc) +content += $(content_vmix) + +# midi core +content_midi = $(addprefix kernel/framework/midi/,oss_midi_core.c oss_midi_timers.c oss_midi_mapper.c \ + oss_midi_queue.c) +content += $(content_midi) + +# ac97 core +content += kernel/framework/ac97 + +# drivers +content_drv += oss_ich oss_hdaudio oss_audiopci +content += $(addprefix kernel/drv/,$(content_drv)) + +# use custom options for extracting the tar archive +TAR_OPT(oss) = $(addprefix $(oss)/,$(content)) --strip-components=1 + + +# +# Build and execute 'srcconf' utility, build 'devices.list' +# + +CC ?= gcc +default: setup +setup: $(DOWNLOADS) + $(VERBOSE)ln -sf srcconf_freebsd.inc src/lib/oss/setup/srcconf_linux.inc + $(VERBOSE)ln -sf gen_driver_freebsd.inc src/lib/oss/setup/gen_driver_linux.inc + $(VERBOSE)mkdir -p src/lib/oss/kernel/framework/include + $(VERBOSE)mkdir -p src/lib/oss/kernel/OS/Linux + $(VERBOSE)$(CC) -g -Isrc/lib/oss/setup -o srcconf src/lib/oss/setup/srcconf.c + $(VERBOSE)rm -f src/lib/oss/kernel/framework/include/ossddk/oss_limits.h + $(VERBOSE)cat `find src/lib/oss/kernel/drv -name .devices`| grep -v '^#' > src/lib/oss/devices.list + $(VERBOSE)cd src/lib/oss && ../../../srcconf + $(VERBOSE)cd src/lib/oss/target/build ; for f in *.c; do mv $$f pci_$$f; done + $(VERBOSE)rm srcconf diff --git a/repos/dde_oss/src/drivers/audio_out/target.mk b/repos/dde_oss/src/drivers/audio_out/target.mk index 60eabd8be..37783a57b 100644 --- a/repos/dde_oss/src/drivers/audio_out/target.mk +++ b/repos/dde_oss/src/drivers/audio_out/target.mk @@ -1,7 +1,7 @@ TARGET = audio_out_drv REQUIRES = x86_32 LIBS = dde_kit -CONTRIB_DIR = $(REP_DIR)/contrib +OSS_DIR := $(call select_from_ports,oss)/src/lib/oss @@ -23,12 +23,12 @@ SRC_C = dummies.c # # Driver sources # -DRV = $(addprefix $(CONTRIB_DIR)/,kernel/drv target) +DRV = $(addprefix $(OSS_DIR)/,kernel/drv target) # # Framwork sources # -FRAMEWORK = $(addprefix $(CONTRIB_DIR)/kernel/framework/,\ +FRAMEWORK = $(addprefix $(OSS_DIR)/kernel/framework/,\ osscore audio mixer vmix_core midi ac97) # find C files @@ -38,7 +38,7 @@ SRC_C += $(shell find $(DRV) $(FRAMEWORK) -name *.c -exec basename {} ";") PATHS = $(shell find $(DRV) $(FRAMEWORK) -type d) # add include directories -INC_DIR += $(CONTRIB_DIR)/kernel/framework/include $(CONTRIB_DIR)/include \ +INC_DIR += $(OSS_DIR)/kernel/framework/include $(OSS_DIR)/include \ $(PRG_DIR)/include $(PRG_DIR)