Files
haikuports/dev-embedded/sdcc/sdcc-4.5.0.recipe
PulkoMandy f46ad5e032 sdcc 4.5.0
2025-02-17 08:10:46 +01:00

179 lines
3.8 KiB
Bash

SUMMARY="A retargettable, optimizing ANSI-C compiler suite"
DESCRIPTION="SDCC is a retargettable, optimizing ANSI-C compiler suite that \
targets the Intel MCS51 based microprocessors (8031, 8032, 8051, 8052, etc.), \
Maxim (formerly Dallas) DS80C390 variants, Freescale (formerly Motorola) HC08 \
based (hc08, s08), Zilog Z80 based MCUs (z80, z180, gbz80, Rabbit 2000/3000, \
Rabbit 3000A, TLCS-90) and STMicroelectronics STM8. Work is in progress on \
supporting the Microchip PIC16 and PIC18 targets. It can be retargeted for \
other microprocessors."
HOMEPAGE="http://sdcc.sourceforge.net"
COPYRIGHT="1999-2024 Sandeep Dutta"
LICENSE="GNU GPL v2"
REVISION="1"
SOURCE_URI="http://sourceforge.net/projects/sdcc/files/sdcc/$portVersion/sdcc-src-$portVersion.tar.bz2"
SOURCE_DIR="sdcc-$portVersion"
PATCHES="sdcc-$portVersion.patchset"
CHECKSUM_SHA256="d5030437fb436bb1d93a8dbdbfb46baaa60613318f4fb3f5871d72815d1eed80"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
sdcc$secondaryArchSuffix = $portVersion
cmd:as2gbmap
cmd:makebin
cmd:packihx
cmd:s51
cmd:sdar
cmd:sdas390
cmd:sdas6500
cmd:sdas6808
cmd:sdas8051
cmd:sdasf8
cmd:sdasgb
cmd:sdaspdk13
cmd:sdaspdk14
cmd:sdaspdk15
cmd:sdaspdk16
cmd:sdasrab
cmd:sdasstm8
cmd:sdastlcs90
cmd:sdasz80
cmd:sdcc = $portVersion
cmd:sdcdb
cmd:sdcdb.el
cmd:sdcdbsrc.el
cmd:sdcpp
cmd:sdld
cmd:sdld6808
cmd:sdldf8
cmd:sdldgb
cmd:sdldpdk
cmd:sdldstm8
cmd:sdldz80
cmd:sdnm
cmd:sdobjcopy
cmd:sdranlib
cmd:ucsim_51
cmd:ucsim_f8
cmd:ucsim_i8051
cmd:ucsim_m68hc08
cmd:ucsim_mos6502
cmd:ucsim_pdk
cmd:ucsim_rxk
cmd:ucsim_stm8
cmd:ucsim_tlcs
cmd:ucsim_xa
cmd:ucsim_z80
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libreadline$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
devel:libboost_graph$secondaryArchSuffix >= 1.83.0
devel:libiconv$secondaryArchSuffix
devel:libreadline$secondaryArchSuffix >= 8
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
haiku${secondaryArchSuffix}_devel
cmd:automake
cmd:bison
cmd:find
cmd:flex
cmd:gcc$secondaryArchSuffix
cmd:gpasm
cmd:gperf
cmd:ld$secondaryArchSuffix
cmd:make
cmd:makeinfo
"
defineDebugInfoPackage sdcc$secondaryArchSuffix \
$prefix/bin/makebin \
$prefix/bin/packihx \
$prefix/bin/s51 \
$prefix/bin/sdar \
$prefix/bin/sdas390 \
$prefix/bin/sdas6500 \
$prefix/bin/sdas6808 \
$prefix/bin/sdas8051 \
$prefix/bin/sdasgb \
$prefix/bin/sdaspdk13 \
$prefix/bin/sdaspdk14 \
$prefix/bin/sdaspdk15 \
$prefix/bin/sdaspdk16 \
$prefix/bin/sdasrab \
$prefix/bin/sdasstm8 \
$prefix/bin/sdastlcs90 \
$prefix/bin/sdasz80 \
$prefix/bin/sdcc \
$prefix/bin/sdcdb \
$prefix/bin/sdcpp \
$prefix/bin/sdld \
$prefix/bin/sdld6808 \
$prefix/bin/sdldgb \
$prefix/bin/sdldpdk \
$prefix/bin/sdldstm8 \
$prefix/bin/sdldz80 \
$prefix/bin/sdnm \
$prefix/bin/sdobjcopy \
$prefix/bin/sdranlib \
$prefix/bin/ucsim_51 \
$prefix/bin/ucsim_f8 \
$prefix/bin/ucsim_m68hc08 \
$prefix/bin/ucsim_mos6502 \
$prefix/bin/ucsim_pdk \
$prefix/bin/ucsim_rxk \
$prefix/bin/ucsim_stm8 \
$prefix/bin/ucsim_tlcs \
$prefix/bin/ucsim_xa \
$prefix/bin/ucsim_z80
BUILD()
{
mkdir -p build
pushd build
export CFLAGS="-DO_ASYNC=0 -fPIC"
export LDFLAGS="-lnetwork"
runConfigure ../configure \
--bindir=$prefix/bin \
--enable-avr-port \
--enable-mcs51-port \
--enable-z80-port \
--enable-z180-port \
--enable-r3ka-port \
--enable-gbz80-port \
--enable-tlcs90-port \
--enable-ez80-z80-port \
--enable-ds390-port \
--enable-ds400-port \
--enable-pic14-port \
--enable-pic16-port \
--enable-hc08-port \
--enable-s08-port \
--enable-stm8-port \
--enable-pdk13-port \
--enable-pdk14-port \
--enable-pdk15-port \
--enable-pdk16-port \
--disable-doc \
--without-ccache
make $jobArgs
popd
}
INSTALL()
{
pushd build
make install
popd
}