[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