From 239144659b29c0a5ecd83a34e0e57387a1060ed7 Mon Sep 17 00:00:00 2001 From: Tom Rondeau Date: Tue, 7 Dec 2010 18:50:28 -0500 Subject: Initial checkin for VOLK - Vector-Optimized Library of Kernels. This is a new SIMD library. It currently stands by itself under the GNU Radio tree and can be used separately. We will integrate the build process into GNU Raio and start building off of its functionality over time. --- volk/Makefile.common | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 volk/Makefile.common (limited to 'volk/Makefile.common') diff --git a/volk/Makefile.common b/volk/Makefile.common new file mode 100644 index 000000000..3b028b147 --- /dev/null +++ b/volk/Makefile.common @@ -0,0 +1,46 @@ +# -*- Makefile -*- +# +# Copyright 2004,2006,2008 Free Software Foundation, Inc. +# +# This file is part of GNU Radio +# +# GNU Radio is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GNU Radio is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Radio; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, +# Boston, MA 02110-1301, USA. +# + +ourincludedir = $(includedir)/volk + +# swig includes +ourswigincludedir = $(ourincludedir)/swig + +# Install this stuff in the appropriate subdirectory +# This usually ends up at: +# ${prefix}/lib/python${python_version}/site-packages/libvector + +ourpythondir = $(pythondir)/volk +ourpyexecdir = $(pyexecdir)/volk + + +# swig flags +SWIGPYTHONFLAGS = -fvirtual -python -modern +SWIGGRFLAGS = -I$(GNURADIO_CORE_INCLUDEDIR)/swig -I$(GNURADIO_CORE_INCLUDEDIR) + +# standard defins and includes +STD_DEFINES_AND_INCLUDES=-I$(top_srcdir)/include -I$(top_srcdir)/lib $(GNURADIO_CORE_CPPFLAGS) + +# Don't assume that make predefines $(RM), because BSD make does +# not. We define it now in configure.ac using AM_PATH_PROG, but now +# here have to add a -f to be like GNU make. +RM=$(RM_PROG) -f -- cgit From 1186ab980d1e1fe36ff869097fd0697dd41ff7ae Mon Sep 17 00:00:00 2001 From: Tom Rondeau Date: Wed, 8 Dec 2010 00:59:23 -0500 Subject: volk: Updating build system so that volk configures and builds from gnuradio top level dir. --- volk/Makefile.common | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'volk/Makefile.common') diff --git a/volk/Makefile.common b/volk/Makefile.common index 3b028b147..083f6f710 100644 --- a/volk/Makefile.common +++ b/volk/Makefile.common @@ -1,6 +1,6 @@ # -*- Makefile -*- # -# Copyright 2004,2006,2008 Free Software Foundation, Inc. +# Copyright 2010 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -27,7 +27,7 @@ ourswigincludedir = $(ourincludedir)/swig # Install this stuff in the appropriate subdirectory # This usually ends up at: -# ${prefix}/lib/python${python_version}/site-packages/libvector +# ${prefix}/lib/python${python_version}/site-packages/libvolk ourpythondir = $(pythondir)/volk ourpyexecdir = $(pyexecdir)/volk -- cgit From 81c3086bee1752c94a89ab2d20b7de048fdd1be7 Mon Sep 17 00:00:00 2001 From: Tom Rondeau Date: Fri, 14 Jan 2011 19:58:11 -0500 Subject: Cleans up the Makefiles for the various platforms. This should also make it easier to add new architectures. Thanks to Josh for the inspiration. --- volk/Makefile.common | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) (limited to 'volk/Makefile.common') diff --git a/volk/Makefile.common b/volk/Makefile.common index 083f6f710..daa8d78b6 100644 --- a/volk/Makefile.common +++ b/volk/Makefile.common @@ -1,6 +1,6 @@ # -*- Makefile -*- # -# Copyright 2010 Free Software Foundation, Inc. +# Copyright 2010,2011 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -20,6 +20,33 @@ # Boston, MA 02110-1301, USA. # +if MD_CPU_generic + platform_CODE = \ + $(top_srcdir)/lib/volk_cpu_generic.c +endif + +if MD_CPU_x86 +if MD_SUBCPU_x86_64 + platform_CODE = \ + $(top_srcdir)/lib/volk_cpu_x86.c \ + $(top_srcdir)/lib/cpuid_x86_64.S +endif +endif + +if MD_CPU_x86 +if !MD_SUBCPU_x86_64 + platform_CODE = \ + $(top_srcdir)/lib/volk_cpu_x86.c \ + $(top_srcdir)/lib/cpuid_x86.S +endif +endif + +if MD_CPU_powerpc + platform_CODE = \ + $(top_srcdir)/lib/volk_cpu_powerpc.c +endif + + ourincludedir = $(includedir)/volk # swig includes @@ -44,3 +71,4 @@ STD_DEFINES_AND_INCLUDES=-I$(top_srcdir)/include -I$(top_srcdir)/lib $(GNURADIO # not. We define it now in configure.ac using AM_PATH_PROG, but now # here have to add a -f to be like GNU make. RM=$(RM_PROG) -f + -- cgit From 9edf280fb25bee071c166123ac1aee41d4a4949e Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Sat, 15 Jan 2011 17:29:15 -0800 Subject: volk: replace assembly and separate cases with gcc cpuid for all x86 --- volk/Makefile.common | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) (limited to 'volk/Makefile.common') diff --git a/volk/Makefile.common b/volk/Makefile.common index daa8d78b6..e91a55e9c 100644 --- a/volk/Makefile.common +++ b/volk/Makefile.common @@ -26,19 +26,8 @@ if MD_CPU_generic endif if MD_CPU_x86 -if MD_SUBCPU_x86_64 platform_CODE = \ - $(top_srcdir)/lib/volk_cpu_x86.c \ - $(top_srcdir)/lib/cpuid_x86_64.S -endif -endif - -if MD_CPU_x86 -if !MD_SUBCPU_x86_64 - platform_CODE = \ - $(top_srcdir)/lib/volk_cpu_x86.c \ - $(top_srcdir)/lib/cpuid_x86.S -endif + $(top_srcdir)/lib/volk_cpu_x86.c endif if MD_CPU_powerpc -- cgit