From a5e2d9e5baf869ae961fbb5820447290d6d9c7c8 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Tue, 26 Apr 2011 21:55:48 -0700 Subject: volk: reorganization of generation sources and generated files All generation sources have been moved to the gen/ subdirectory. Bootstrap and volk_register.py generate the files into to gen/ subdirectory in an effort to cleanly separate the static/generated parts of the build tree. Define top_gendir in Makefile.common, all generated sources listed in Makefile.ams are prefixed with $(top_gendir) to differentiate them from static in-tree sources. --- volk/gen/make_cpuid_h.py | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 volk/gen/make_cpuid_h.py (limited to 'volk/gen/make_cpuid_h.py') diff --git a/volk/gen/make_cpuid_h.py b/volk/gen/make_cpuid_h.py new file mode 100644 index 000000000..cd3da2455 --- /dev/null +++ b/volk/gen/make_cpuid_h.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python +# +# Copyright 2011 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. +# + +from xml.dom import minidom +from emit_omnilog import * + +def make_cpuid_h(dom) : + tempstring = ""; + tempstring = tempstring +'/*this file is auto generated by volk_register.py*/'; + tempstring = tempstring +'\n#ifndef INCLUDED_VOLK_CPU_H'; + tempstring = tempstring +'\n#define INCLUDED_VOLK_CPU_H\n\n'; + tempstring = tempstring + emit_prolog(); + tempstring = tempstring + '\n' + + tempstring = tempstring + "struct VOLK_CPU {\n" + for domarch in dom: + arch = str(domarch.attributes["name"].value); + tempstring = tempstring + " int (*has_" + arch + ") ();\n"; + tempstring = tempstring + "};\n\n"; + tempstring = tempstring + "extern struct VOLK_CPU volk_cpu;\n\n"; + + tempstring = tempstring + "void volk_cpu_init ();\n" + tempstring = tempstring + "unsigned int volk_get_lvarch ();\n" + + tempstring = tempstring + "\n"; + tempstring = tempstring + emit_epilog(); + tempstring = tempstring + "#endif /*INCLUDED_VOLK_CPU_H*/\n" + + return tempstring; -- cgit From 5b4c7d27e9d49ab58df1f1d9350dcaf64c60a1ce Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Fri, 6 May 2011 12:41:16 -0700 Subject: volk: top-level common header cleanup Since we already have a volk_common.h, moved the attributes, API declaration, and c-linkage macros into volk_common.h This change removes volk_attributes.h, in favor of one common include header. The implementation headers that require attributes now include volk_common.h This change removes the emit_omnilog.py script, in favor of pre-processor macros in volk_common.h In addition, extern C is only defined when in C++ and in GCC because non-GCC does not have complex.h --- volk/gen/make_cpuid_h.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'volk/gen/make_cpuid_h.py') diff --git a/volk/gen/make_cpuid_h.py b/volk/gen/make_cpuid_h.py index cd3da2455..4fe5c4e07 100644 --- a/volk/gen/make_cpuid_h.py +++ b/volk/gen/make_cpuid_h.py @@ -21,14 +21,14 @@ # from xml.dom import minidom -from emit_omnilog import * def make_cpuid_h(dom) : tempstring = ""; tempstring = tempstring +'/*this file is auto generated by volk_register.py*/'; tempstring = tempstring +'\n#ifndef INCLUDED_VOLK_CPU_H'; tempstring = tempstring +'\n#define INCLUDED_VOLK_CPU_H\n\n'; - tempstring = tempstring + emit_prolog(); + tempstring = tempstring + "#include \n\n"; + tempstring = tempstring + '__VOLK_DECL_BEGIN\n'; tempstring = tempstring + '\n' tempstring = tempstring + "struct VOLK_CPU {\n" @@ -42,7 +42,7 @@ def make_cpuid_h(dom) : tempstring = tempstring + "unsigned int volk_get_lvarch ();\n" tempstring = tempstring + "\n"; - tempstring = tempstring + emit_epilog(); + tempstring = tempstring + "__VOLK_DECL_END\n"; tempstring = tempstring + "#endif /*INCLUDED_VOLK_CPU_H*/\n" return tempstring; -- cgit