Hi,

NetBeans (IDE, Platform and applications based on the platform) has
launchers to conveniently launch the tool. On Linux, etc., this is a shell
script, which is simple.

On Windows, however, the launchers are DLLs and exe(s). My understanding is
that these were traditionally built using a specific version of Cygwin, but
seems we might be able to build using MinGW (which has an advantage that
the launchers can be cross-compiled on Linux).

I'd like to ask several questions on this:
-any experience with having native code in a release? The launchers have
several dependencies, like the "jni.h" from a Java distro (the DLL from the
Java distribution is used at runtime, I think), libgcc, libstdc++ (these
are linked statically, so that users don't need to have them as shared
libraries). An example command line to build the DLL:
x86_64-w64-mingw32-gcc -shared -m64 -o nbexec64.dll -I
<path-to-jdk>/include/ -I <path-to-jdk>/include/win32/ jvmlauncher.cpp
nbexec.cpp platformlauncher.cpp utilsfuncs.cpp nbexec.res -static -lstdc++
-static-libstdc++ -static-libgcc

-are there any continuous build machines setup to do native builds?

-how to incorporate the Windows binaries into the build: currently, the
regular "Java" build produces an platform independent result (in
particular, product of Linux build can run on Windows, i.e. the Win
launchers are included), and it would be good to keep it this way. In the
current repository, the launcher binaries are downloaded from a binary
server, and we still use legacy binaries. But we need to update the
launchers. What we could do is to do a small source and binary release
consisting only of the launchers, upload the binaries somewhere, and then
download the released binaries during the regular build (at the cost of
doing one or more additional votes). But I wonder if there's any better way.

Thanks,
     Jan

Reply via email to