Re: [PATCH 3/4] SFIDL: fix compiled-in standard include path



   Hi!

On Tue, Oct 20, 2015 at 01:04:11AM +0200, Tim Janik wrote:
thanks for the patch.
Unfortunately it clashes with some local modifications I have here for versioning, so I'll probably have to 
fix this manually and have a question.

On 18.10.2015 16:42, Stefan Westerfeld wrote:
diff --git a/sfi/sfidl-options.cc b/sfi/sfidl-options.cc
index 1347481..bcdeb18 100644
--- a/sfi/sfidl-options.cc
+++ b/sfi/sfidl-options.cc
@@ -168,7 +168,7 @@ bool Options::parse (int *argc_p, char **argv_p[], const Parser& parser)
   /* add std include path */
   if (!noStdInc)
     {
-      const std::string stdinc_path = bse_installpath (BSE_INSTALLPATH_INCLUDES);
+      const std::string stdinc_path = bse_installpath (BSE_INSTALLPATH_PKGINCLUDEDIR);

Please remind me what sfild needs/uses the standard include path for.
Afaics, your BSE_INSTALLPATH_PKGINCLUDEDIR points to the directory that contains public BSE C++ headers, 
how's that helping the IDL compiler?

Given that sfidl is on its way to deprecation, I'd like to keep changes regarding it to a minimum.

SpectMorph builds two BEAST plugins that are not in the BEAST tree, but in the
SpectMorph tree. The Makefile.am entry looks like this:

------------------------------------------------------------------
spectmorphosc.genidl.hh: $(srcdir)/spectmorphosc.idl
        sfidl --plugin $(srcdir)/spectmorphosc.idl > spectmorphosc.genidl.hh
------------------------------------------------------------------

and the IDL file like this:

------------------------------------------------------------------
include "bse/bsebasics.idl";

namespace Bse { interface Effect; }; // FIXME: bad workaround

namespace SpectMorph {

using namespace Bse;

interface Osc : Effect {
  Info    authors     = "Stefan Westerfeld";
  Info    license     = _("GNU Lesser General Public License");
  [...]
};
};
------------------------------------------------------------------

As you can see, the IDL file includes "bse/bsebasics.idl", which is installed
via bse/Makefile.am:

------------------------------------------------------------------
#
# BSE library
#
lib_LTLIBRARIES              = libbse.la
libbseincludedir       ยป     = $(pkgincludedir)/bse
libbseinclude_HEADERS        = $(bse_public_headers) bse.idl $(bse_idl_sources) bsehack.idl $(idl_dummy_files)
[...]
------------------------------------------------------------------

So this is the directory sfidl search for included idl files by default.

   Cu... Stefan
-- 
Stefan Westerfeld, http://space.twc.de/~stefan


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]