Update libtool to version 2.5.3 (includes support for aarch64-w64-mingw32)

2024-10-01 Thread Carlo B. via Cygwin
Hello,

GCC development branch includes experimental support Windows on ARM64 (WOA),
which will be officially released with version 15, at least according to
latest news.
I already compiled successfully GCC, binutils and lot of the "noarch"
packages already available for i686 and x86_64, by using the new
aarch64-w64-mingw32 cross compiler.

Unfortunately, I discovered that there was a bug in libtool that
blocked the creation of shared libraries with aarch64-w64-mingw32.
I reported the bug here:

https://savannah.gnu.org/support/?111081

and it has been fixed by a patch included into the latest 2.5.3 version.
That patch includes support for pe-aarch64 and it solved the issues,
at least on my side.
I already downloaded the src package of libtool for CYGWIN and I
updated my local copy.
However, I'm wondering if it would be possible to release an official
update of libtool to version 2.5.3, for having this fix available to
everyone.

Sincerely,

Carlo Bramini.

-- 
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


Re: CYGPORT not setting CMAKE_SYSTEM_PROCESSOR when cross compiling with aarch64-w64-mingw32.

2024-07-22 Thread Carlo B. via Cygwin
Hello,
thank you for your reply.
The patch is a good start to me.
However, I think that it would be better to remove the error if CHOST
or CTARGET include something different from x86_64, i686 or aarch64.
Otherwise, you won't be able to cross compile anything with CMake,
except for those CPUs.
Instead, in my opinion it would be better to return an empty string,
to be assigned to a variable at the calling function.
So, if that variable will not empty, then CMAKE_SYSTEM_PROCESSOR will
be appended to crossargs with that value.
Otherwise, CMAKE_SYSTEM_PROCESSOR won't be added to crossargs and it
will work as it worked until now.
According to the documentation:
https://cmake.org/cmake/help/latest/variable/CMAKE_HOST_SYSTEM_PROCESSOR.html
when it is not cross compiling, CMake assignes the return value of
"uname" to CMAKE_SYSTEM_PROCESSOR.
So, some of the possible values of that variable could be:
alpha
arc
arm
aarch64_be (arm64 big endian)
aarch64 (arm64)
armv8b (arm64 compat big endian)
armv8l (arm64 compat little endian)
blackfin
c6x
cris
frv
h8300
hexagon
ia64
m32r
m68k
metag
microblaze
mips (native or compat)
mips64 (mips)
mn10300
nios2
openrisc
parisc (native or compat)
parisc64 (parisc)
ppc (powerpc native or compat)
ppc64 (powerpc)
ppcle (powerpc native or compat little endian)
ppc64le (powerpc little endian)
s390 (s390x compat)
s390x
score
sh
sh64 (sh)
sparc (native or compat)
sparc64 (sparc)
tile
unicore32
i386 (x86)
i686 (x86 compat)
x86_64 (x64)
xtensa
If there will be the need to add some of them in the future, somebody
may add them.
Perhaps, it would be useful to add also this information to the patch
as a comment, just for reference.
Thank you very much for your time.

Sincerely,

Carlo Bramini.

Il giorno sab 20 lug 2024 alle ore 20:18 Jon Turney
 ha scritto:
>
> On 19/07/2024 09:08, Carlo B. via Cygwin wrote:
> > Hello,
> >
> > GCC development branch includes experimental support Windows on ARM64
> > (WOA), which will be officially released next year with version 15, at
> > least according to latest news.
> > So, I compiled it and I created a number of packages for CYGWIN
> > including binutils, gcc, mingw runtime and several libraries, not
> > released yet to my repository.
> > Although the "aarch64-w64-mingw32" target is still experimental, I
> > have to say that this cross compiler worked very well, at least until
> > now.
>
> Great work! We'd certainly welcome and appreciate your help getting
> packages for this into our repository, also.
>
> > However, some problems appear because there are some thirdy party
> > tools not expecting to have mingw combined with something different
> > than i686 or x86_64.
> > For example, it is impossible to create a shared library when using
> > libtool, more details could be found here:
> > https://savannah.gnu.org/support/?111081
>
> Huh. I guess someone should fix that, then!
>
> I think for a start, the regex around line 5724 in libtool (near the
> comment about keeping it in sync with _LT_CHECK_MAGIC_METHOD) needs
> updating to match arm64 archives...
>
> > For this reason, you have to use CMake or other alternative tools
> > instead of autotools.
> >
> > Actually, another problem can happen when creating the packages for
> > CYGWIN with CYGPORT utility.
> > For example, I tried to build a noarch package of libpng for CYGWIN,
> > by using the new aarch64-w64-mingw32.
> > I have used CMake to bypass the above trouble with libtool.
> > Unfortunately, the build process still fails because it didn't compile
> > the sources for adding the functions with NEON acceleration.
> > The cause of the problem is the variable CMAKE_SYSTEM_PROCESSOR that is 
> > empty.
> > This is not a bug of CMake, because CMAKE_SYSTEM_PROCESSOR is
> > typically set into CMAKE_TOOLCHAIN_FILE by the user when cross
> > compiling.
> > At the moment, I bypassed the trouble by adding
> > "-DCMAKE_SYSTEM_PROCESSOR=aarch64" to CYGCMAKE_ARGS into my script.
> > I gave a look into /usr/share/cygport/cygclass/cmake.cygclass and it
> > seems to me that there is nothing for setting the CPU type.
> > Perhaps it would be worth to add support for setting
> > CMAKE_SYSTEM_PROCESSOR into cmake.cygclass, by checking the content of
> > ${CTARGET}, if it exists with a known CPU.
>
> Interesting.
>
> I took a look and there are several existing packages which have been
> cross-built for x86 and x86_64 MinGW using cmake, so either it seems
> this hasn't yet appeared as a problem for those ar

CYGPORT not setting CMAKE_SYSTEM_PROCESSOR when cross compiling with aarch64-w64-mingw32.

2024-07-19 Thread Carlo B. via Cygwin
Hello,

GCC development branch includes experimental support Windows on ARM64
(WOA), which will be officially released next year with version 15, at
least according to latest news.
So, I compiled it and I created a number of packages for CYGWIN
including binutils, gcc, mingw runtime and several libraries, not
released yet to my repository.
Although the "aarch64-w64-mingw32" target is still experimental, I
have to say that this cross compiler worked very well, at least until
now.
However, some problems appear because there are some thirdy party
tools not expecting to have mingw combined with something different
than i686 or x86_64.
For example, it is impossible to create a shared library when using
libtool, more details could be found here:
https://savannah.gnu.org/support/?111081
For this reason, you have to use CMake or other alternative tools
instead of autotools.

Actually, another problem can happen when creating the packages for
CYGWIN with CYGPORT utility.
For example, I tried to build a noarch package of libpng for CYGWIN,
by using the new aarch64-w64-mingw32.
I have used CMake to bypass the above trouble with libtool.
Unfortunately, the build process still fails because it didn't compile
the sources for adding the functions with NEON acceleration.
The cause of the problem is the variable CMAKE_SYSTEM_PROCESSOR that is empty.
This is not a bug of CMake, because CMAKE_SYSTEM_PROCESSOR is
typically set into CMAKE_TOOLCHAIN_FILE by the user when cross
compiling.
At the moment, I bypassed the trouble by adding
"-DCMAKE_SYSTEM_PROCESSOR=aarch64" to CYGCMAKE_ARGS into my script.
I gave a look into /usr/share/cygport/cygclass/cmake.cygclass and it
seems to me that there is nothing for setting the CPU type.
Perhaps it would be worth to add support for setting
CMAKE_SYSTEM_PROCESSOR into cmake.cygclass, by checking the content of
${CTARGET}, if it exists with a known CPU.

Thank you very much for your time.
Sincerely,

Carlo Bramini.

-- 
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


Installing/upgrading only NOARCH packages.

2023-04-19 Thread Carlo B. via Cygwin
Hello,
after the 32-bit port of CYGWIN has been obsoleted, I was looking for
a way for installing or upgrading the NOARCH packages, like the
libraries for the mingw cross compilers for example.
Unfortunately, I have not found an existing way for doing it.
Is it possible to do it?

Otherwise, I'm searching for the sources of the setup program for
adding this feature in my local installation. I have seen that setup
utility has a "--arch" option, but it accepts only "x86_64" or "x86",
according to the "--help" printed on screen.
So, I'm planning to add a "noarch" in addition to "x86_64" and "x86"
to this option.
Where can I get the latest development sources of the setup utility?

Thank you very much for your replies.
Sincerely,

Carlo Bramini.

-- 
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


Re: Bug in CYGWIN's UUID library: GUID_NULL not found.

2023-02-20 Thread Carlo B. via Cygwin
I see... problem solved.
Thank you very much.
Sincerely,

Carlo Bramini.

Il giorno lun 20 feb 2023 alle ore 17:01 Takashi Yano
 ha scritto:
>
> On Mon, 20 Feb 2023 16:48:50 +0100
> "Carlo B. wrote:
> > Hello,
> > I think that there is a bug into the uuid library, the one to be used
> > with the W32API for the POSIX core.
> > Please have a look to the following tiny test code:
> >
> > //
> > #include 
> > #include 
> > #include 
> > #include 
> >
> > int main()
> > {
> > 
> > printf("GUID_NULL=\"%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X\"\n",
> > GUID_NULL.Data1,
> > GUID_NULL.Data2, GUID_NULL.Data3,
> > GUID_NULL.Data4[0], GUID_NULL.Data4[1],
> > GUID_NULL.Data4[2], GUID_NULL.Data4[3],
> > GUID_NULL.Data4[4], GUID_NULL.Data4[5],
> > GUID_NULL.Data4[6], GUID_NULL.Data4[7]
> > );
> >
> > return 0;
> > }
> > //
> >
> > Compiling it with x86_64-pc-cygwin or i686-pc-cygwin does not work:
> >
> > $ gcc e.c -o e.exe -luuid
> > /usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld:
> > /tmp/ccyJK3d9.o:e.c:(.rdata$.refptr.GUID_NULL[.refptr.GUID_NULL]+0x0):
> > undefined reference to `GUID_NULL'
> > collect2: error: ld returned 1 exit status
>
> You linked /usr/lib/libuuid.dll.a rather than /usr/lib/w32api/libuuid.a.
> You might want: gcc e.c -o e.exe -L/usr/lib/w32api -luuid
>
> --
> Takashi Yano 

-- 
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


Bug in CYGWIN's UUID library: GUID_NULL not found.

2023-02-20 Thread Carlo B. via Cygwin
Hello,
I think that there is a bug into the uuid library, the one to be used
with the W32API for the POSIX core.
Please have a look to the following tiny test code:

//
#include 
#include 
#include 
#include 

int main()
{
printf("GUID_NULL=\"%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X\"\n",
GUID_NULL.Data1,
GUID_NULL.Data2, GUID_NULL.Data3,
GUID_NULL.Data4[0], GUID_NULL.Data4[1],
GUID_NULL.Data4[2], GUID_NULL.Data4[3],
GUID_NULL.Data4[4], GUID_NULL.Data4[5],
GUID_NULL.Data4[6], GUID_NULL.Data4[7]
);

return 0;
}
//

Compiling it with x86_64-pc-cygwin or i686-pc-cygwin does not work:

$ gcc e.c -o e.exe -luuid
/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld:
/tmp/ccyJK3d9.o:e.c:(.rdata$.refptr.GUID_NULL[.refptr.GUID_NULL]+0x0):
undefined reference to `GUID_NULL'
collect2: error: ld returned 1 exit status

But it works fine when using MinGW-w64 compilers:

$ x86_64-w64-mingw32-gcc e.c -o e.exe -luuid

$ ./e.exe
GUID_NULL="----"


I discovered this issue when making a new FluidSynth package for
CYGWIN for my repository of packages.
Can you confirm it?
Thank you very much for your time.

Sincerely,

Carlo Bramini.

-- 
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


Re: CYGPORT: using WAF build system.

2021-10-17 Thread Carlo B. via Cygwin
Hello,
in addition to my previous message, I would like to say that I tried
to build the existing old sources of lv2-1.12.0-1.x86_64 package, but
an error is generated.
I attached what happens and I hope that you will find this report useful.
Sincerely.

=

$ cygport lv2.cygport all
>>> Preparing lv2-1.12.0-1.x86_64
>>> Unpacking source lv2-1.12.0.tar.bz2
*** Info: applying patch 1.12.0-cygwin-shlib.patch (-p2):
patching file plugins/eg-amp.lv2/wscript
patching file plugins/eg-fifths.lv2/wscript
patching file plugins/eg-metro.lv2/wscript
patching file plugins/eg-midigate.lv2/wscript
patching file plugins/eg-sampler.lv2/wscript
patching file plugins/eg-scope.lv2/wscript
>>> Preparing working source directory
>>> Compiling lv2-1.12.0-1.x86_64
Traceback (most recent call last):
  File 
"/home/Carlo/packages/lv2.src/lv2.src/a/lv2-1.12.0-1.src/lv2-1.12.0-1.x86_64/build/.waf3-1.8.5-3556be08f33a5066528395b11fed89fa/waflib/Node.py",
line 293, in ant_iter
raise StopIteration
StopIteration

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File 
"/home/Carlo/packages/lv2.src/lv2.src/a/lv2-1.12.0-1.src/lv2-1.12.0-1.x86_64/build/.waf3-1.8.5-3556be08f33a5066528395b11fed89fa/waflib/Scripting.py",
line 103, in waf_entry_point
run_commands()
  File 
"/home/Carlo/packages/lv2.src/lv2.src/a/lv2-1.12.0-1.src/lv2-1.12.0-1.x86_64/build/.waf3-1.8.5-3556be08f33a5066528395b11fed89fa/waflib/Scripting.py",
line 160, in run_commands
parse_options()
  File 
"/home/Carlo/packages/lv2.src/lv2.src/a/lv2-1.12.0-1.src/lv2-1.12.0-1.x86_64/build/.waf3-1.8.5-3556be08f33a5066528395b11fed89fa/waflib/Scripting.py",
line 133, in parse_options
Context.create_context('options').execute()
  File 
"/home/Carlo/packages/lv2.src/lv2.src/a/lv2-1.12.0-1.src/lv2-1.12.0-1.x86_64/build/.waf3-1.8.5-3556be08f33a5066528395b11fed89fa/waflib/Options.py",
line 141, in execute
super(OptionsContext,self).execute()
  File 
"/home/Carlo/packages/lv2.src/lv2.src/a/lv2-1.12.0-1.src/lv2-1.12.0-1.x86_64/build/.waf3-1.8.5-3556be08f33a5066528395b11fed89fa/waflib/Context.py",
line 92, in execute
self.recurse([os.path.dirname(g_module.root_path)])
  File 
"/home/Carlo/packages/lv2.src/lv2.src/a/lv2-1.12.0-1.src/lv2-1.12.0-1.x86_64/build/.waf3-1.8.5-3556be08f33a5066528395b11fed89fa/waflib/Context.py",
line 133, in recurse
user_function(self)
  File 
"/home/Carlo/packages/lv2.src/lv2.src/a/lv2-1.12.0-1.src/lv2-1.12.0-1.x86_64/build/wscript",
line 25, in options
opt.load('compiler_c')
  File 
"/home/Carlo/packages/lv2.src/lv2.src/a/lv2-1.12.0-1.src/lv2-1.12.0-1.x86_64/build/.waf3-1.8.5-3556be08f33a5066528395b11fed89fa/waflib/Context.py",
line 89, in load
fun(self)
  File 
"/home/Carlo/packages/lv2.src/lv2.src/a/lv2-1.12.0-1.src/lv2-1.12.0-1.x86_64/build/.waf3-1.8.5-3556be08f33a5066528395b11fed89fa/waflib/Tools/compiler_c.py",
line 36, in options
opt.load_special_tools('c_*.py',ban=['c_dumbpreproc.py'])
  File 
"/home/Carlo/packages/lv2.src/lv2.src/a/lv2-1.12.0-1.src/lv2-1.12.0-1.x86_64/build/.waf3-1.8.5-3556be08f33a5066528395b11fed89fa/waflib/Context.py",
line 296, in load_special_tools
lst=self.root.find_node(waf_dir).find_node('waflib/extras').ant_glob(var)
  File 
"/home/Carlo/packages/lv2.src/lv2.src/a/lv2-1.12.0-1.src/lv2-1.12.0-1.x86_64/build/.waf3-1.8.5-3556be08f33a5066528395b11fed89fa/waflib/Node.py",
line 342, in ant_glob
ret=[x for x in
self.ant_iter(accept=accept,pats=[to_pat(incl),to_pat(excl)],maxdepth=kw.get('maxdepth',25),dir=dir,src=src,remove=kw.get('remove',True))]
  File 
"/home/Carlo/packages/lv2.src/lv2.src/a/lv2-1.12.0-1.src/lv2-1.12.0-1.x86_64/build/.waf3-1.8.5-3556be08f33a5066528395b11fed89fa/waflib/Node.py",
line 342, in 
ret=[x for x in
self.ant_iter(accept=accept,pats=[to_pat(incl),to_pat(excl)],maxdepth=kw.get('maxdepth',25),dir=dir,src=src,remove=kw.get('remove',True))]
RuntimeError: generator raised StopIteration
*** ERROR: waf configure failed

Il giorno ven 15 ott 2021 alle ore 17:22 Brian Inglis
 ha scritto:
>
> On 2021-10-14 04:02, Carlo B. via Cygwin wrote:
> > I would like to make a package with LV2 plugins for CYGWIN.
> > The problem is that those plugins are using the WAF build system and
> > it is not clear to me how to proceed. Do you know if some of the
> > existing packages for CYGWIN are using WAF, so that they could be uses
> > as example for starting?
>
> In connection with other queries, I just came across a few lv2 packages
> already available in Cygwin:
>
> lv2
> lv2core
> lv2-calf
> lv2-devel
> lv2-examples
> lv2-swh
>
> slv2
> libslv2_9
> libslv2-devel
>
> with cygpo

Re: CYGPORT: using WAF build system.

2021-10-17 Thread Carlo B. via Cygwin
Hello,
thank you very much for the replies.
I have successfully compiled lv2, lilv, serd, sord, sratom (but not
suil yet) for CYGWIN and I made the packages for building the master
branch of Audacity.
I also tried to do the same thing for i686 and x86_64, by using
provided MinGW-w64 cross compiler, but I'm getting this message:

*** ERROR: waf.cygclass does not yet support cross-compiling

I hope that somebody may fix this in the future.
Sincerely.

Il giorno ven 15 ott 2021 alle ore 17:22 Brian Inglis
 ha scritto:
>
> On 2021-10-14 04:02, Carlo B. via Cygwin wrote:
> > I would like to make a package with LV2 plugins for CYGWIN.
> > The problem is that those plugins are using the WAF build system and
> > it is not clear to me how to proceed. Do you know if some of the
> > existing packages for CYGWIN are using WAF, so that they could be uses
> > as example for starting?
>
> In connection with other queries, I just came across a few lv2 packages
> already available in Cygwin:
>
> lv2
> lv2core
> lv2-calf
> lv2-devel
> lv2-examples
> lv2-swh
>
> slv2
> libslv2_9
> libslv2-devel
>
> with cygport build control script definitions and patches available
> which use WAF:
>
> https://cygwin.com/git-cygwin-packages?p=git/cygwin-packages/lv2.git
> https://cygwin.com/git-cygwin-packages?p=git/cygwin-packages/lv2-swh.git
> https://cygwin.com/git-cygwin-packages?p=git/cygwin-packages/slv2.git
>
> so you could install cygport and any *lv2* package dependencies, clone
> these repos or download and untar the current source packages which
> contain these files plus upstream tars, and build the current packages
> as a proof of concept and way of learning cygport, before trying to
> build more current versions.
>
> The simple approach to running cygport is to change to the directory
> containing the .cygport definitions and .patch file(s) or move them to a
> working directory (normally named for the source package), then run e.g.
>
> $ cygport lv2.cygport get prep
>
> which downloads the upstream (not Cygwin) package sources for the
> specified version to a central cache directory, creates a package build
> directory, copies or untars sources if required, and (tries to) apply
> any patches to the original sources, to give you working sources, which
> you can then use to compile and make install-able Cygwin packages for
> the current arch.
> You can try one of the following examples, depending whether you want to
> watch the builds run or review the results later:
>
> $ cygport lv2.cygport all |& tee lv2-cygport-`arch`-all.log
>
> $ cygport lv2.cygport all | tee lv2-cygport-`arch`-all.log 2>&1
>
> $ cygport lv2.cygport all &> tee lv2-cygport-`arch`-all.log &
>
>$ cygport lv2.cygport all > tee lv2-cygport-`arch`-all.log 2>&1 &
>
> Browse the created build subdirectories to see what is produced and
> review all detail logs generated during the process.
>
> After a successful build and package creation, it is always a good idea
> to try to run any test suites with:
>
>$ cygport lv2.cygport check > tee lv2-cygport-`arch`-check.log 2>&1 &
>
> I use the cygport command check instead of test as test is used
> ambiguously by cygport, as it may also refer to test vs stable or
> production releases produced by cygport using commands e.g. all-test.
>
> --
> Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada
>
> This email may be disturbing to some readers as it contains
> too much technical detail. Reader discretion is advised.
> [Data in binary units and prefixes, physical quantities in SI.]

-- 
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


CYGPORT: using WAF build system.

2021-10-14 Thread Carlo B. via Cygwin
Hello,
I would like to make a package with LV2 plugins for CYGWIN.
The problem is that those plugins are using the WAF build system and
it is not clear to me how to proceed. Do you know if some of the
existing packages for CYGWIN are using WAF, so that they could be uses
as example for starting?
Thank you very much.

Sincerely.

-- 
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


Re: cygport: CYGCMAKE_SOURCE seems to have no effect.

2021-09-17 Thread Carlo B. via Cygwin
Hello,

> If you look at the Cygport Install Functions docs for docinto, ...into,
> defining target directories, you would see that an "absolute" path
> disables cygport from prefixing a subdirectory name with the package
> name, etc. so CMakeLists.txt is (linked) under ${S,B}/cmake, and cygport
> will automatically find that, so it should not be required or specified:
>
> https://cygwin.github.io/cygport/cmake_cygclass.html#robo767
>
cygport does not find it.

If CYGCMAKE_SOURCE is not defined into my liblo.cygport, it prints:
*** ERROR: cygcmake: cmake directory not found

If CYGCMAKE_SOURCE is defined as "${S}/cmake", it prints again:
*** ERROR: cygcmake: cmake directory not found

If CYGCMAKE_SOURCE is defined as an absolute path like I have written
in my previous message, it finally works.

> "This is only necessary when the top-level CMakeLists.txt is not in $S
> and cygcmake is not being run in the same subdirectory of $B which under
> $S contains the top-level CMakeLists.txt. (IOW if the top-level
> CMakeLists.txt is in $S/unix and cygcmake is run from $B/unix, setting
> CYGCMAKE_SOURCE would not be necessary.)"

"This is only necessary when the top-level CMakeLists.txt is not in $S"
true, it is under "$S/cmake"

"and cygcmake is not being run in the same subdirectory of $B which
under $S contains the top-level CMakeLists.txt."
also true in my opinion.

It could be possible that I have not understood something, but however
there is also an easy way:
- my cygport file was included in my first email and also attached
into this last one.

- the source archive can be downloaded from this direct link:
http://downloads.sourceforge.net/liblo/liblo-0.31.tar.gz

- put both them into a directory and execute:

cygport liblo.cygport all

and you will see with your eyes that it does not work.
Perhaps, there are other extra things to write in my cygport that I
don't know about.

thank you very much for your support.
Sincerely.


liblo.cygport
Description: Binary data

-- 
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


Re: cygport: CYGCMAKE_SOURCE seems to have no effect.

2021-09-17 Thread Carlo B. via Cygwin
Hello,
in addition to my previous message, I did some experiments with the
code of cygport and I added these lines to
/usr/share/cygport/cygclass/cmake.cygclass:

echo "CYGCMAKE_SOURCE=${CYGCMAKE_SOURCE}"
echo "B=${B}"
echo "S=${S}"
echo "PWD=${PWD}"

and the result is:

CYGCMAKE_SOURCE=/cmake
B=/home/carlo/liblo.src/liblo-0.31-1.x86_64/build
S=/home/carlo/liblo.src/liblo-0.31-1.x86_64/src/liblo-0.31
PWD=/home/carlo/liblo.src/liblo-0.31-1.x86_64/build
*** ERROR: cygcmake: cmake directory not found

But ${CYGCMAKE_SOURCE} was set as:

CYGCMAKE_SOURCE="${S}/cmake"

So, it seems to me that there is at least a bug into the
documentation, because ${CYGCMAKE_SOURCE} does not seem to allow the
use of {S}.
I was able to make it working by writing:

CYGCMAKE_SOURCE="$(pwd)/${NAME}-${VERSION}-${RELEASE}.${ARCH}/src/${NAME}-${VERSION}/cmake"

but I don't know if this is the right way to do it and could be accepted or not.

Sincerely.

Il giorno gio 16 set 2021 alle ore 17:18 Carlo B.
 ha scritto:
>
> Hello,
> I'm trying to make a package for CYGWIN to provide liblo, but I'm
> having some difficulties.
> This library is available to the most used linux distributions (but
> not limited to), here there is the link to the one into a Debian as
> example:
>
> https://packages.debian.org/buster/liblo-dev
>
> I implemented a script for cygport but this is the output on the
> console when I execute it:
>
> $ cygport liblo.cygport all
> >>> Preparing liblo-0.31-1.x86_64
> >>> Unpacking source liblo-0.31.tar.gz
> >>> Preparing working source directory
> >>> Compiling liblo-0.31-1.x86_64
> *** ERROR: cygcmake: cmake directory not found
>
> The unique aspect of this library is that the CMakeLists.txt file is
> not into the root of the source tree, but it is located into a
> subfolder, see here:
>
> https://github.com/radarsat1/liblo/tree/master/cmake
>
> So, in my script, I configured ${CYGCMAKE_SOURCE} to point there, but
> it still cannot make it working. Since it seems that I'm not able to
> make it working in any way, I'm wondering if the behaviour of this
> variable has been ever tested, so I'm writing here with the hope to
> receive a suggestion.
>
> Thank you very much for your support.
>
> ===> And this is the content of my liblo.cygport file:
>
> inherit cmake
>
> NAME="liblo"
> VERSION=0.31
> RELEASE=1
> CATEGORY="Audio"
> SUMMARY="Open Sound Control protocol for POSIX systems"
> DESCRIPTION="Open Sound Control (OSC) is a protocol for communication
>  among computers, sound synthesizers, and other multimedia devices that
>  is optimized for modern networking technology."
> HOMEPAGE="http://liblo.sourceforge.net/";
> SRC_URI="http://downloads.sourceforge.net/liblo/liblo-${VERSION}.tar.gz";
>
> PKG_NAMES="liblo1 liblo-devel"
> PKG_IGNORE="
> usr/share/doc/liblo/AUTHORS
> usr/share/doc/liblo/COPYING
> usr/share/doc/liblo/ChangeLog
> usr/share/doc/liblo/NEWS
> usr/share/doc/liblo/README
> usr/share/doc/liblo/TODO
> "
>
> liblo1_CATEGORY="Libs"
> liblo1_SUMMARY="${SUMMARY}"
> liblo1_CONTENTS="
> usr/bin/cyglo-7.dll
> usr/bin/oscdump.exe
> usr/bin/oscsend.exe
> "
> liblo_devel_CATEGORY="Libs"
> liblo_devel_SUMMARY="${SUMMARY}"
> liblo_devel_CONTENTS="
> usr/include/lo/*
> usr/lib/liblo.dll.a
> usr/lib/pkgconfig/liblo.pc
> usr/lib/cmake/liblo/libloConfig.cmake
> "
>
> CYGCMAKE_SOURCE="${S}/cmake"

-- 
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


Re: cygport: CYGCMAKE_SOURCE seems to have no effect.

2021-09-17 Thread Carlo B. via Cygwin
Hello,

thank you for your message,

> Worked just fine for a recent update of fortune-mod.
>
I gave a look to the source tree inside the package
fortune-mod-3.6.1-1-src.tar.xz and the CMakeLists.txt is into the
top-level directory, so it is not the same thing. And it seems to me
that ${CYGCMAKE_SOURCE} is not used by fortune-mod.cygport.

> See online or under your Cygwin directory:
>
> https://cygwin.github.io/cygport/cmake_cygclass.html#robo765
>
> cygstart /usr/share/doc/cygport/html/manual/cmake_cygclass.html
>
Yes, I had read that.

> Try directory specification rather than path - cygport often just DTRT:
>
> CYGCMAKE_SOURCE=cmake
>
Yes, I had also tried that, but without success.

Sincerely.

> --
> Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada
>
> This email may be disturbing to some readers as it contains
> too much technical detail. Reader discretion is advised.
> [Data in binary units and prefixes, physical quantities in SI.]
>
>
> > ===> And this is the content of my liblo.cygport file:
> >
> > inherit cmake
> >
> > NAME="liblo"
> > VERSION=0.31
> > RELEASE=1
> > CATEGORY="Audio"
> > SUMMARY="Open Sound Control protocol for POSIX systems"
> > DESCRIPTION="Open Sound Control (OSC) is a protocol for communication
> >   among computers, sound synthesizers, and other multimedia devices that
> >   is optimized for modern networking technology."
> > HOMEPAGE="http://liblo.sourceforge.net/";
> > SRC_URI="http://downloads.sourceforge.net/liblo/liblo-${VERSION}.tar.gz";
> >
> > PKG_NAMES="liblo1 liblo-devel"
> > PKG_IGNORE="
> >  usr/share/doc/liblo/AUTHORS
> >  usr/share/doc/liblo/COPYING
> >  usr/share/doc/liblo/ChangeLog
> >  usr/share/doc/liblo/NEWS
> >  usr/share/doc/liblo/README
> >  usr/share/doc/liblo/TODO
> > "
> >
> > liblo1_CATEGORY="Libs"
> > liblo1_SUMMARY="${SUMMARY}"
> > liblo1_CONTENTS="
> >  usr/bin/cyglo-7.dll
> >  usr/bin/oscdump.exe
> >  usr/bin/oscsend.exe
> > "
> > liblo_devel_CATEGORY="Libs"
> > liblo_devel_SUMMARY="${SUMMARY}"
> > liblo_devel_CONTENTS="
> >  usr/include/lo/*
> >  usr/lib/liblo.dll.a
> >  usr/lib/pkgconfig/liblo.pc
> >  usr/lib/cmake/liblo/libloConfig.cmake
> > "
> >
> > CYGCMAKE_SOURCE="${S}/cmake"
>
> --
> Problem reports:  https://cygwin.com/problems.html
> FAQ:  https://cygwin.com/faq/
> Documentation:https://cygwin.com/docs.html
> Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple

-- 
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


cygport: CYGCMAKE_SOURCE seems to have no effect.

2021-09-16 Thread Carlo B. via Cygwin
Hello,
I'm trying to make a package for CYGWIN to provide liblo, but I'm
having some difficulties.
This library is available to the most used linux distributions (but
not limited to), here there is the link to the one into a Debian as
example:

https://packages.debian.org/buster/liblo-dev

I implemented a script for cygport but this is the output on the
console when I execute it:

$ cygport liblo.cygport all
>>> Preparing liblo-0.31-1.x86_64
>>> Unpacking source liblo-0.31.tar.gz
>>> Preparing working source directory
>>> Compiling liblo-0.31-1.x86_64
*** ERROR: cygcmake: cmake directory not found

The unique aspect of this library is that the CMakeLists.txt file is
not into the root of the source tree, but it is located into a
subfolder, see here:

https://github.com/radarsat1/liblo/tree/master/cmake

So, in my script, I configured ${CYGCMAKE_SOURCE} to point there, but
it still cannot make it working. Since it seems that I'm not able to
make it working in any way, I'm wondering if the behaviour of this
variable has been ever tested, so I'm writing here with the hope to
receive a suggestion.

Thank you very much for your support.

===> And this is the content of my liblo.cygport file:

inherit cmake

NAME="liblo"
VERSION=0.31
RELEASE=1
CATEGORY="Audio"
SUMMARY="Open Sound Control protocol for POSIX systems"
DESCRIPTION="Open Sound Control (OSC) is a protocol for communication
 among computers, sound synthesizers, and other multimedia devices that
 is optimized for modern networking technology."
HOMEPAGE="http://liblo.sourceforge.net/";
SRC_URI="http://downloads.sourceforge.net/liblo/liblo-${VERSION}.tar.gz";

PKG_NAMES="liblo1 liblo-devel"
PKG_IGNORE="
usr/share/doc/liblo/AUTHORS
usr/share/doc/liblo/COPYING
usr/share/doc/liblo/ChangeLog
usr/share/doc/liblo/NEWS
usr/share/doc/liblo/README
usr/share/doc/liblo/TODO
"

liblo1_CATEGORY="Libs"
liblo1_SUMMARY="${SUMMARY}"
liblo1_CONTENTS="
usr/bin/cyglo-7.dll
usr/bin/oscdump.exe
usr/bin/oscsend.exe
"
liblo_devel_CATEGORY="Libs"
liblo_devel_SUMMARY="${SUMMARY}"
liblo_devel_CONTENTS="
usr/include/lo/*
usr/lib/liblo.dll.a
usr/lib/pkgconfig/liblo.pc
usr/lib/cmake/liblo/libloConfig.cmake
"

CYGCMAKE_SOURCE="${S}/cmake"

-- 
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


GLM for MinGW at same version of the ones for CYGWIN?

2021-03-02 Thread Carlo B. via Cygwin
Hello,
with reference to this thread:
https://cygwin.com/pipermail/cygwin/2020-December/247106.html
recently, GLM for CYGWIN has been updated to 0.9.9.5.
I'm wondering if it would be possible to do the same thing and update
the GLM packages for MinGW to the same version. An update will
simplify some things because, unlike 0.9.7, no additional patches are
required.

Sincerely.
--
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


Re: How to configuring a cross compiler for ARM Cortex M4F from GCC using Cygwin

2021-03-01 Thread Carlo B. via Cygwin
Hello,

Il giorno dom 28 feb 2021 alle ore 09:29 Welwin Joseph via Cygwin
 ha scritto:
>
> Hi,
> I am new to the concept of configuring crosscompiler from GCC , can anyone 
> guide me on how to create/ Configure a cross compiler from GCC compiler for 
> ARM cortex M4F using Cygwin. I am using a windows 10 PC, my target is arm 
> cortexM4F   TM4C129ENCPDT and I am using it as bareboard (no OS).
>
>
> With regards,
> Welwin
> --
> Problem reports:  https://cygwin.com/problems.html
> FAQ:  https://cygwin.com/faq/
> Documentation:https://cygwin.com/docs.html
> Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple

In my opinion, the best way for getting what you need is to use crosstool-ng:

https://github.com/crosstool-ng/crosstool-ng

You can clone the repo, build and install the program.
Then, you can use ct-ng for configuring the build with the platform
you want and finally start the creation.
When the process finishes, you will find your cross compiler into the
"x-tools" directory, inside your $HOME.
When you get it, it is very easy to create a cross compiler: with this
tool, I created an arm-none-eabi with NEWLIB, an aarch64 android cross
compiler with NDK and an armhf linux cross compiler.
I suggest you to do a try with this tiny thing.
Please note that after you start the build, the tool automatically
downloads the tar files with the sources that it needs, unless it
already finds them in its directory, so be careful if you have a
limited amount of internet traffic available.

Sincerely.
--
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


Error with wxWidgets 3.0.5 for CYGWIN.

2021-02-26 Thread Carlo B. via Cygwin
Hello,
after updating some packages, I tried to rebuild my Kicad sources and
I discovered that I could not do it anymore. During the process, it
hangs with this error:

error: 'wxRE_ADVANCED' was not declared in this scope.

It seems that the new package of wxWidgets 3.0.5 had not been compiled
with built-in regex support, including wxRE_ADVANCED option. I
downgraded to wxWidgets 3.0.4 and I was able to build everything
again.
I hope that you could fix this issue.

Sincerely.

Carlo Bramini.
--
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


Re: New version of GLM package?

2020-12-21 Thread Carlo B. via Cygwin
Hello,

Il giorno dom 20 dic 2020 alle ore 14:32 Marco Atzeri via Cygwin
 ha scritto:
>
> On 20.12.2020 12:58, Carlo B. via Cygwin wrote:
> > Hello,
> > perhaps, if copying the files by hand is too heavy as another user
> > said, it is possible to use version 0.9.9.5, as I had written here:
> >
> > https://cygwin.com/pipermail/cygwin/2020-August/245981.html
> >
> > it is not the latest version, but it is surely much newer than 0.9.7:
> > you just need to change version number and remove the patch now
> > useless from glm.cygport.
> >
> > Sincerely.
> >
>
> bottom post here, please
>
>
> 0.9.9.5 is up, let us know if there is any issue
>
> Regards
> Marco

Thank you very much, the package has been updated and it is working fine for me.
Perhaps, while we are on the topic, it would be worth to update also
the packages for MinGW.

Sincerely.
--
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


Re: New version of GLM package?

2020-12-20 Thread Carlo B. via Cygwin
Hello,
perhaps, if copying the files by hand is too heavy as another user
said, it is possible to use version 0.9.9.5, as I had written here:

https://cygwin.com/pipermail/cygwin/2020-August/245981.html

it is not the latest version, but it is surely much newer than 0.9.7:
you just need to change version number and remove the patch now
useless from glm.cygport.

Sincerely.

Il giorno dom 20 dic 2020 alle ore 11:56 Marco Atzeri via Cygwin
 ha scritto:
>
> back on the mailing list
>
> On 20.12.2020 00:23, Hans-Bernhard Bröker wrote:
> > Am 19.12.2020 um 19:21 schrieb Marco Atzeri via Cygwin:
> >
> >> for what I can see upstream has completely removed the install
> >> section from the cmake files on 0.9.9.8 .
> >>
> >> unclear why they performed such issue.
> >
> > Possibly because there isn't all that much to install for a "library"
> > that does not actually contain any compiled files, because it consists
> > of nothing but inlined templates in header files.
> >
> > I.e. the binary package would just be a subset of the source in a
> > different place.
> >
> > They seem to assume that the cmake script snippet they offer is
> > sufficient to make the package count as "installed", because that (with
> > an environment variable on top) allows the package to be found by CMake
> > packages.  The canonical method would probably be a CPack package.
>
> Hi Hans,
>
> I have impression debian is using such assumption and copy just the
> files in the proper place.
> It is annoying anyway.
>
> The fact that the github repository seems to not have the "issues"
> is another annoying problem of this package.
>
> Regards
> Marco
>
>
>
>
>
> --
> Problem reports:  https://cygwin.com/problems.html
> FAQ:  https://cygwin.com/faq/
> Documentation:https://cygwin.com/docs.html
> Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
--
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


New version of GLM package?

2020-12-17 Thread Carlo B. via Cygwin
Hello everyone,
I'm wondering if it would be possible to release a newer version of
this package and also fixing this bug if it is possible:

https://cygwin.com/pipermail/cygwin/2020-August/245945.html

Thank you very much for your time and your support.
Sincerely.
--
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


Re: Build of glm-0.9.7.6-1-src.tar.xz does not work.

2020-08-25 Thread Carlo B. via Cygwin
Hello,
thank you very much, your updated script allowed me to complete the
rebuilt process.
KiCad requires GLM version 0.9.8 or newer for compiling.
Unfortunately, I discovered that just replacing the old sources with
the latest ones is not enough for updating the library.
Since version 0.9.9.6, the install and uninstall targets have been
removed from generated Makefile:

https://github.com/g-truc/glm/commit/5f352ecce21bb1ab37fa56fac0f383c779b351a3#diff-af3b638bc2a3e6c650974192a53c7291

So, the current cygport script is able to work up to version 0.9.9.5,
which is enough for the task anyways.
Perhaps, the newer versions are using CMake directly for doing
installation, but I have no idea how this is expected to work in
cygport.
Thank you very much for your time and your support.

Sincerely,

Il giorno dom 23 ago 2020 alle ore 18:04 Marco Atzeri via Cygwin
 ha scritto:
>
> On 23.08.2020 17:30, Jon Turney wrote:
> > On 22/08/2020 06:00, Marco Atzeri via Cygwin wrote:
> >> On 21.08.2020 10:35, Carlo B. via Cygwin wrote:
> >>> Hello,
> >>> I tried to rebuild glm-0.9.7.6-1-src.tar.xz but the "install" command
> >>> does not work.
> >>> I'm getting this error message:
> >>>
> >>>>>> Installing glm-0.9.7.6-1.noarch
> >>> make: ***  Nessuna regola per generare l'obiettivo «install».  Arresto.
> >>> *** ERROR: make install DESTDIR failed
> >>>
> >>> Translated in english, it should be something like this:
> >>> "No rules to generate target <>. Stop."
> >>>
> > [...]
> >>
> >> the error is caused by the build system using now cmake+ninja for
> >> the execution
> >>
> >> while mingw64-i686-glm and mingw64-x86_64-glm builds stay on the
> >> previous cmake+make
> >>
> > I am a bit confused by this.  What causes the default generator used by
> > cmake to change?  Having old .cygports break due to that seems bad.
> >
>
> not sure.
> I guess that if ninja is available the glm cmake settings
> give it a precedence.
>
> It is also possible that the latest cmake is behaving differently
> than previous one.
>
> Regards
> Marco
>
>
> --
> Problem reports:  https://cygwin.com/problems.html
> FAQ:  https://cygwin.com/faq/
> Documentation:https://cygwin.com/docs.html
> Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
--
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


Build of glm-0.9.7.6-1-src.tar.xz does not work.

2020-08-21 Thread Carlo B. via Cygwin
Hello,
I tried to rebuild glm-0.9.7.6-1-src.tar.xz but the "install" command
does not work.
I'm getting this error message:

>>> Installing glm-0.9.7.6-1.noarch
make: ***  Nessuna regola per generare l'obiettivo «install».  Arresto.
*** ERROR: make install DESTDIR failed

Translated in english, it should be something like this:
"No rules to generate target <>. Stop."

I did NO changes to the files into glm-0.9.7.6-1-src.tar.xz.
Strangely, cygport cannot build the CYGWIN package, but it builds
mingw64-i686-glm and mingw64-x86_64-glm without errors. The CYGWIN and
MinGW-W64 scripts have some differences actually.
If somebody could check this, perhaps it would be good to also
evaluate the chance to update all GLM packages to a newer version.
The current source packages for all builds, CYGWIN and MinGW-W64,
include a patch for fixing a bug into the sources; nowadays, this bug
has been resolved into the official sources and into the latest
0.9.9.8 version:

https://github.com/g-truc/glm/blob/master/test/gtc/gtc_round.cpp#L451

so the packages could be also simplified, because they do not need a
patch anymore.

I'm trying to update GLM because it is a required dependency for
building KiCad, an Open Source Electronics Design software, so I hope
that somebody could understand the first issue and also update the
package with a newer version.

Sincerely,
--
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


MinGW pkg-config not working (part 2)

2020-04-15 Thread Carlo B. via Cygwin
Hello,
After the release of the new pkg-conf, with the use of symlinks
instead of a script for using the personality feature, I got some
strange errors at compile time.
Let's think to have a directory called "mylibrary" into your home
directory, so you have a path for example "/home/carlo/mylibrary".
In this directory create a file called "test.pc" with these lines:

Name: test
Description: test MinGW pkg-config  on CYGWIN
Version: 1.2.3
Libs:
Cflags: -I/home/carlo/mylibrary

Finally, add this directory to PKG_CONFIG_PATH environment variable.
Now, if you type this command on the console:

$ x86_64-w64-mingw32-pkg-config --cflags test
-I/usr/x86_64-w64-mingw32/sys-root/home/carlo/mylibrary

which is wrong, because it changed all references to "home/carlo" by
appending "/usr/x86_64-w64-mingw32/sys-root". Instead, if I type:

$ pkg-config --cflags test
-I/home/carlo/mylibrary

then the path it returned unchanged as expected.
Sadly, this behavior forces you to rebuild everything and to move all
stuff that you could normally have in your home directory into
"/usr/x86_64-w64-mingw32/sys-root/home/carlo", othewise it won't work
anymore.
Am I doing something wrong or it is the expected result and there is
another way to make things working again?

Thank you very much.
Sincerely.
--
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


Re: Mingw pkg-config not working

2020-04-08 Thread Carlo B. via Cygwin
Hello,
I would like to report that I updated to the latest release, I tried
to do some tests and it really seems that it has resolved the issue on
my side.
Thank you very much for your support.

Sincerely,

Carlo Bramini.

Il giorno lun 6 apr 2020 alle ore 18:44 Yaakov Selkowitz
 ha scritto:
>
> On Sun, 2020-04-05 at 15:51 +0200, Carlo B. via Cygwin wrote:
> > I wanted to report that I received a reply on the issue that I had opened 
> > here:
> >
> > https://todo.sr.ht/~kaniini/pkgconf/10#comment-7894
>
> Thanks for following up.
>
> > The report has been closed and I got this reply:
> >
> > "You should use a symlink instead of a wrapper script when using the
> > personality feature."
> >
> > I hope that somebody has understood what he means (posix is not
> > exactly my primary platform) and it could be useful for fixing the
> > issue.
>
> Yes, that gave me the information I needed.  There is actually code
> within pkgconf to automatically load $PREFIX.personality when called as
> $PREFIX-pkg-config.  This requires a packaging change on our end, which
> I'm incorporating into the latest release.
>
> > Il giorno gio 26 mar 2020 alle ore 14:07 Carlo B.
> >  ha scritto:
> > > Hello,
> > > I implemented the solution to this problem as a patch to
> > > pkgconf.cygport as requested.
> > > I attached small patch to this email, which resolved the troubles with
> > > CMake and Meson.
> > > I hope that you will find it useful and  some developers will gently
> > > apply the correction to fix the issue.
> > >
> > > Thank you very much for your time and your support.
> > > Sincerely,
> > >
> > > Carlo Bramini.
> > >
> > > Il giorno sab 22 feb 2020 alle ore 18:47 Jon Turney
> > >  ha scritto:
> > > > On 20/02/2020 11:06, Carlo B. wrote:
> > > > [...]
> > > > > x86_64-w64-mingw32-pkg-config are emulated with a shell script, for
> > > > > example the one for i686 is:
> > > > >
> > > > > #!/bin/sh
> > > > > exec pkgconf --personality=i686-w64-mingw32 $@
> > > > >
> > > > > But while this solution mostly works when you exec it from the command
> > > > > line, it makes impossible to detect the presence of the tool from
> > > > > meson and cmake build systems.
> > > > > If you try to do this on the bash prompt, you get:
> > > > >
> > > > > $ i686-w64-mingw32-pkg-config --version
> > > > > pkgconf: --version specified with other options or module names,
> > > > > assuming --modversion.
> > > > > Please specify at least one package name on the command line.
> > > > >
> > > > > and this is exactly what happens with those build systems (and perhaps
> > > > > others, I don't know): it tries to call pkg-config with "--version"
> > > > > and it executes the above script that calls pkgconf. But sadly, the
> > > > > presence of the "--personality" option makes the process to fail,
> > > > > because the "--version" is currently allowed only when no other
> > > > > options are added.
> > > > > And, for this reason, meson and cmake fail the detection of the tool.
> > > > >
> > > > > I have also filed an issue here for pkgconf:
> > > > > https://todo.sr.ht/~kaniini/pkgconf/10
> > > > > because the solution is actually to ignore the presence of the
> > > > > "--personality" option when the "--version" is written, but
> > > > > unfortunately I have not received any feedback.
> > > > >
> > > > > So, I'm also writing here, with the hope that you could find a 
> > > > > solution.
> > > > [...]
> > > >
> > > > Thanks for reporting this issue.
> > > >
> > > > I guess the alternative to fixing pkgconf would be to modify those
> > > > wrapper scripts to detect when the parameters are just '--version' (or
> > > > equivalent) and not use --personality in that case?
> > > >
> > > > These wrapper scripts are specific to cygwin (generated by the cygport,
> > > > see [1])
> > > >
> > > > It's possible other distros have more sophisticated wrapper scripts,
> > > > which avoid this problem?
> > > >
> > > > If you do write or discover some improved wrapper scripts, a patch to
> > > > [1] to update them would be appreciated.
> > > >
> > > > [1]
> > > > https://cygwin.com/git-cygwin-packages/?p=git/cygwin-packages/pkgconf.git;a=blob;f=pkgconf.cygport#l84
>
> --
> Yaakov
>
>
> --
> Problem reports:  https://cygwin.com/problems.html
> FAQ:  https://cygwin.com/faq/
> Documentation:https://cygwin.com/docs.html
> Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
--
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


Re: Mingw pkg-config not working

2020-04-05 Thread Carlo B. via Cygwin
Hello,
I wanted to report that I received a reply on the issue that I had opened here:

https://todo.sr.ht/~kaniini/pkgconf/10#comment-7894

The report has been closed and I got this reply:

"You should use a symlink instead of a wrapper script when using the
personality feature."

I hope that somebody has understood what he means (posix is not
exactly my primary platform) and it could be useful for fixing the
issue.

Thank you very much for your time.
Sincerely,

Carlo Bramini.

Il giorno gio 26 mar 2020 alle ore 14:07 Carlo B.
 ha scritto:
>
> Hello,
> I implemented the solution to this problem as a patch to
> pkgconf.cygport as requested.
> I attached small patch to this email, which resolved the troubles with
> CMake and Meson.
> I hope that you will find it useful and  some developers will gently
> apply the correction to fix the issue.
>
> Thank you very much for your time and your support.
> Sincerely,
>
> Carlo Bramini.
>
> Il giorno sab 22 feb 2020 alle ore 18:47 Jon Turney
>  ha scritto:
> >
> > On 20/02/2020 11:06, Carlo B. wrote:
> > [...]
> > > x86_64-w64-mingw32-pkg-config are emulated with a shell script, for
> > > example the one for i686 is:
> > >
> > > #!/bin/sh
> > > exec pkgconf --personality=i686-w64-mingw32 $@
> > >
> > > But while this solution mostly works when you exec it from the command
> > > line, it makes impossible to detect the presence of the tool from
> > > meson and cmake build systems.
> > > If you try to do this on the bash prompt, you get:
> > >
> > > $ i686-w64-mingw32-pkg-config --version
> > > pkgconf: --version specified with other options or module names,
> > > assuming --modversion.
> > > Please specify at least one package name on the command line.
> > >
> > > and this is exactly what happens with those build systems (and perhaps
> > > others, I don't know): it tries to call pkg-config with "--version"
> > > and it executes the above script that calls pkgconf. But sadly, the
> > > presence of the "--personality" option makes the process to fail,
> > > because the "--version" is currently allowed only when no other
> > > options are added.
> > > And, for this reason, meson and cmake fail the detection of the tool.
> > >
> > > I have also filed an issue here for pkgconf:
> > > https://todo.sr.ht/~kaniini/pkgconf/10
> > > because the solution is actually to ignore the presence of the
> > > "--personality" option when the "--version" is written, but
> > > unfortunately I have not received any feedback.
> > >
> > > So, I'm also writing here, with the hope that you could find a solution.
> > [...]
> >
> > Thanks for reporting this issue.
> >
> > I guess the alternative to fixing pkgconf would be to modify those
> > wrapper scripts to detect when the parameters are just '--version' (or
> > equivalent) and not use --personality in that case?
> >
> > These wrapper scripts are specific to cygwin (generated by the cygport,
> > see [1])
> >
> > It's possible other distros have more sophisticated wrapper scripts,
> > which avoid this problem?
> >
> > If you do write or discover some improved wrapper scripts, a patch to
> > [1] to update them would be appreciated.
> >
> > [1]
> > https://cygwin.com/git-cygwin-packages/?p=git/cygwin-packages/pkgconf.git;a=blob;f=pkgconf.cygport#l84
--
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


Re: Mingw pkg-config not working

2020-03-26 Thread Carlo B. via Cygwin
Hello,
I implemented the solution to this problem as a patch to
pkgconf.cygport as requested.
I attached small patch to this email, which resolved the troubles with
CMake and Meson.
I hope that you will find it useful and  some developers will gently
apply the correction to fix the issue.

Thank you very much for your time and your support.
Sincerely,

Carlo Bramini.

Il giorno sab 22 feb 2020 alle ore 18:47 Jon Turney
 ha scritto:
>
> On 20/02/2020 11:06, Carlo B. wrote:
> [...]
> > x86_64-w64-mingw32-pkg-config are emulated with a shell script, for
> > example the one for i686 is:
> >
> > #!/bin/sh
> > exec pkgconf --personality=i686-w64-mingw32 $@
> >
> > But while this solution mostly works when you exec it from the command
> > line, it makes impossible to detect the presence of the tool from
> > meson and cmake build systems.
> > If you try to do this on the bash prompt, you get:
> >
> > $ i686-w64-mingw32-pkg-config --version
> > pkgconf: --version specified with other options or module names,
> > assuming --modversion.
> > Please specify at least one package name on the command line.
> >
> > and this is exactly what happens with those build systems (and perhaps
> > others, I don't know): it tries to call pkg-config with "--version"
> > and it executes the above script that calls pkgconf. But sadly, the
> > presence of the "--personality" option makes the process to fail,
> > because the "--version" is currently allowed only when no other
> > options are added.
> > And, for this reason, meson and cmake fail the detection of the tool.
> >
> > I have also filed an issue here for pkgconf:
> > https://todo.sr.ht/~kaniini/pkgconf/10
> > because the solution is actually to ignore the presence of the
> > "--personality" option when the "--version" is written, but
> > unfortunately I have not received any feedback.
> >
> > So, I'm also writing here, with the hope that you could find a solution.
> [...]
>
> Thanks for reporting this issue.
>
> I guess the alternative to fixing pkgconf would be to modify those
> wrapper scripts to detect when the parameters are just '--version' (or
> equivalent) and not use --personality in that case?
>
> These wrapper scripts are specific to cygwin (generated by the cygport,
> see [1])
>
> It's possible other distros have more sophisticated wrapper scripts,
> which avoid this problem?
>
> If you do write or discover some improved wrapper scripts, a patch to
> [1] to update them would be appreciated.
>
> [1]
> https://cygwin.com/git-cygwin-packages/?p=git/cygwin-packages/pkgconf.git;a=blob;f=pkgconf.cygport#l84


pkgconf.cygport.patch
Description: Binary data
--
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple