yash icon indicating copy to clipboard operation
yash copied to clipboard

Support for cross compilation

Open firasuke opened this issue 10 months ago • 2 comments

Hey there,

I was wondering if it is possible to support cross compilation for yash.

Currently, it only works if makesignum was built using the host's compiler ($HOSTCC which is often gcc) (not the cross-compilation toolchain's compiler as yash later expects ./makesignum to run on the host):

$MAKE \
  CC=$HOSTCC \
  makesignum

I am also disabling tryexec ():

tryexec () {
    :
}

firasuke avatar Mar 30 '24 09:03 firasuke

This is not the first time I receive a request for cross compilation support. https://osdn.net/projects/yash/ticket/38274

There are many that need to be resolved to make cross compilation possible.

I don't know how autotools supports cross-compilation, and I need to find a way to do the same thing in yash configure.

Much of the configuration process depends on running programs compiled on the fly, which assumes that the host environment is the same as the target environment. We would need a different approach to configuration to allow us to specify parameters that have been prepared for the target. makesignum is one such part, but there are many similar parts in configure.

magicant avatar Mar 30 '24 14:03 magicant

in case it helps, i've written a quite comprehensive article about supporting cross-compiling https://sabotage-linux.neocities.org/blog/5/

as for makesignum, maybe it could just be executed on yash startup instead of build time. but then i don't understand why the code can't just switch on case SIGINT: ... in the regular yash runtime code.

rofl0r avatar Apr 14 '24 09:04 rofl0r