octave-patch-tracker
[Top][All Lists]
Advanced

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

Re: [Octave-patch-tracker] [patch #10058] src/biosig.mk: update to v2.2.


From: Markus Mützel
Subject: Re: [Octave-patch-tracker] [patch #10058] src/biosig.mk: update to v2.2.1
Date: Fri, 16 Apr 2021 21:10:26 -0000

Am 16. April 2021 um 22:09 Uhr schrieb "Alois Schlögl":
> Am 4/16/21 um 2:56 PM schrieb Markus Mützel:
> > Follow-up Comment #4, patch #10058 (project octave):
> >
> > "biosig4octmat" is a bit of an "oddball" in that it's packaging a library + 
> > an
> > Octave package in the same tarball.
> 
> Yes, I know. I considered already trying to set up an octave pkg
> package, but did not find the time to do this yet.
> 
> The crucial part is that libbiosig is available, and that "mexbiosig"
> can be build with
>     pkg install mexbiosig-#.#.#.tar.gz
> 
> 
> >
> > >From an MXE Octave point of view, it would be much easier if we could split
> > installation of the library and the package into two separate
> > tarballs/packages.
> 
> I'd be fine with this.
> 
> > In that case, we could use the former part (or the existing one) to install
> > the library like we currently do.
> > Ideally, we could just use the OCTAVE_FORGE_PKG_BUILD rule to build and
> > install the Octave package tarball.
> 
> Yes, I agree that would be a good solution. Can You look into this ?

If you can provide an updated tarball, I can look into how to integrate a build 
rule into MXE Octave and how to have it actually built the package in the 
packaging process.

> >
> > I slightly modified the Makefile in your mexbiosig tarball and added a MXE
> > Octave buildrule for it.
> > I don't know if that modification would break Matlab compatibility. But it
> > looks like the package compiled and installed its files correctly in a test
> > with MXE Octave for me.
> > See attached files.
> I checked this, and I understand
> < OCT           := mkoctfile$(OCTAVE_VERSION)
> ---
>  > OCT           := $(MKOCTFILE)
> 
> That part is ok.
> 

Perfect. I'd believe that this change would be enough to allow (cross-)building 
the package with the default build rule.
I'd also guess that this would still allow installing the package in Octave 
with `pkg install ...`. But I haven't actually tried that.

> 
> I do not understand these changes:
> 
> @@ -209,12 +209,12 @@
> 
>   %.mexw32: %.cpp
>       ## $(CROSS)-g++ is used instead of $(CXX), so it can be called
> from biosig as well as mxe.
> -    $(CROSS)-g++ -shared $(GNUMEX)/mex.def -DMATLAB_MEX_FILE $(DEFINES)
> -x c++ \
> +    $(OCT) -shared $(GNUMEX)/mex.def -DMATLAB_MEX_FILE $(DEFINES) -x c++ \
>           -I$(prefix)/include \
>           -I$(W32MAT_INC) -O2 -o "$@" -L$(GNUMEX) -s "$<" -llibmx
> -llibmex $(shell $(CROSS)-pkg-config --libs libbiosig)
> 
>   %.mexw64: %.cpp
> -    $(CROSS64)-g++ -shared $(GNUMEX64)/mex.def -DMATLAB_MEX_FILE
> $(DEFINES) -x c++ \
> +    $(OCT) -shared $(GNUMEX64)/mex.def -DMATLAB_MEX_FILE $(DEFINES) -x
> c++ \
>           -I$(prefix)/include \
>           -I$(W64MAT_INC) -O2 -o "$@" -L$(GNUMEX64) -s "$<" -llibmx
> -llibmex $(shell $(CROSS64)-pkg-config --libs libbiosig)
> 
> 
> Currently this change does not work for me. It would break
> cross-compiling the mexfiles in mexBiosig for Matlab on Windows.
> Why are you suggesting this ? Which problem is this supposed to solve ?
> 

I misunderstood those targets. Please, ignore those changes.

Maybe we should resume the discussion on savannah. I believe it doesn't pick up 
mail responses.

Markus





reply via email to

[Prev in Thread] Current Thread [Next in Thread]