The NetBSD Project

CVS log for pkgsrc/cross/cross-libtool-base/Makefile

[BACK] Up to [cvs.NetBSD.org] / pkgsrc / cross / cross-libtool-base

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.9: download - view: text, markup, annotated - select for diffs
Fri Apr 12 19:54:43 2024 UTC (7 months, 4 weeks ago) by riastradh
Branches: MAIN
CVS tags: pkgsrc-2024Q3-base, pkgsrc-2024Q3, pkgsrc-2024Q2-base, pkgsrc-2024Q2, HEAD
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +8 -7 lines
mk: Pass through all CROSSVARS as TARGET_* for tool depends.

Use this for cross-libtool-base.

Name it cross-libtool-base-${MACHINE_PLATFORM} instead of
cross-libtool-base-${MACHINE_ARCH}.  MACHINE_GNU_PLATFORM isn't quite
enough, because it doesn't reflect OS versions (e.g., aarch64--netbsd
covers both NetBSD 9 and NetBSD 10).

No functional change intended in native builds -- everything here is
conditional on cross builds.  The _DEPENDS_INSTALL_CMD shell fragment
is changed in native builds, but only to move around some of the
shell-based cross-build fragments (which could maybe be factored out
to save a bit of shell execution in native builds, but that's for
another day).

XXX MACHINE_PLATFORM doesn't cover all the other little exotic OS
knobs like LOWER_OPSYS_VERSUFFIX.  Do we care?

Revision 1.8: download - view: text, markup, annotated - select for diffs
Thu Jun 8 22:59:17 2023 UTC (18 months ago) by riastradh
Branches: MAIN
CVS tags: pkgsrc-2024Q1-base, pkgsrc-2024Q1, pkgsrc-2023Q4-base, pkgsrc-2023Q4, pkgsrc-2023Q3-base, pkgsrc-2023Q3, pkgsrc-2023Q2-base, pkgsrc-2023Q2
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +3 -1 lines
cross-libtool-base: Sync with libtool-base to fix libtoolize.in #!.

Revision 1.7: download - view: text, markup, annotated - select for diffs
Tue Jun 28 11:31:14 2022 UTC (2 years, 5 months ago) by wiz
Branches: MAIN
CVS tags: pkgsrc-2023Q1-base, pkgsrc-2023Q1, pkgsrc-2022Q4-base, pkgsrc-2022Q4, pkgsrc-2022Q3-base, pkgsrc-2022Q3
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +2 -2 lines
*: recursive bump for perl 5.36

Revision 1.6: download - view: text, markup, annotated - select for diffs
Mon Apr 4 11:23:06 2022 UTC (2 years, 8 months ago) by riastradh
Branches: MAIN
CVS tags: pkgsrc-2022Q2-base, pkgsrc-2022Q2
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +4 -2 lines
mk: Cross-eyed hacks to support cross-libtool.

For a long time, when cross-building, say from native=amd64 to
target=powerpc, it was necessary to:

1. cross-build a _powerpc_ package called cross-libtool-base-powerpc,
   and then

2. install the powerpc package _natively_ with `pkg_add -m x86_64' to
   override the architecture check that normally forbids this kind of
   shenanigans,

in order to cross-build anything that uses libtool as a tool.

This is partly because libtool doesn't follow the normal GNU
convention of `./configure --build=<native platform> --host=<platform
package will run on> --target=<platform package is configured to
operate on>' -- in this example, build=amd64, host=amd64,
target=powerpc.

Instead, libtool expects to be cross-built itself, even if it's going
to run as a tool.  It's not as bonkers as it sounds at first: libtool
is just a shell script, and it caches various information about the
(cross-building!) toolchain it is built with so it can use that
information later when it is run as a tool itself to cross-compile
other software.

To make this work, we need to create the toolchain wrappers for
libtool _as if_ we were cross-building even if we are building a
native package.  So mk/tools uses a new flag TOOLS_USE_CROSS_COMPILE
instead of USE_CROSS_COMPILE, and libtool internally sets
MACHINE_ARCH=${TARGET_ARCH} (in the example above, powerpc) to make
it look like we're cross-building.  The new TOOLS_CROSS_DESTDIR is an
alias for the (defaulted) CROSS_DESTDIR, which must now be set
unconditionally in mk.conf in order for libtool to know where the
cross-destdir will be; _CROSS_DESTDIR remains empty when building any
native packages (including the native cross-libtool package).

Finally, we need to make the resulting package be a native package,
with MACHINE_ARCH set to the one that it will be installed on (in the
example above, amd64), so I added an indirection _BUILD_DEFS.${var}
to replace var on its own in the build definitions that get baked
into the package, shown by `pkg_info -B'.  Setting
_BUILD_DEFS.MACHINE_ARCH=${NATIVE_MACHINE_ARCH} ensures that this
mutant hybrid cross-built libtool still produces a native package.

All of this logic is gated on setting USE_CROSS_COMPILE in mk.conf or
LIBTOOL_CROSS_COMPILE in the package makefile, so it should be safe
for non-cross-builds -- when USE_CROSS_COMPILE=no and you're not
building cross-libtool, everything is as before.

Revision 1.5: download - view: text, markup, annotated - select for diffs
Mon May 24 19:49:26 2021 UTC (3 years, 6 months ago) by wiz
Branches: MAIN
CVS tags: pkgsrc-2022Q1-base, pkgsrc-2022Q1, pkgsrc-2021Q4-base, pkgsrc-2021Q4, pkgsrc-2021Q3-base, pkgsrc-2021Q3, pkgsrc-2021Q2-base, pkgsrc-2021Q2
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +2 -2 lines
*: recursive bump for perl 5.34

Revision 1.4: download - view: text, markup, annotated - select for diffs
Tue Jul 9 15:45:25 2019 UTC (5 years, 5 months ago) by riastradh
Branches: MAIN
CVS tags: pkgsrc-2021Q1-base, pkgsrc-2021Q1, pkgsrc-2020Q4-base, pkgsrc-2020Q4, pkgsrc-2020Q3-base, pkgsrc-2020Q3, pkgsrc-2020Q2-base, pkgsrc-2020Q2, pkgsrc-2020Q1-base, pkgsrc-2020Q1, pkgsrc-2019Q4-base, pkgsrc-2019Q4, pkgsrc-2019Q3-base, pkgsrc-2019Q3
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +18 -7 lines
Sync cross-libtool-base with libtool-base.  Eliminate CROSSBASE.

cross-libtool-base now installs into $PREFIX/cross-$TARGET_ARCH
unconditionally.

Revision 1.3: download - view: text, markup, annotated - select for diffs
Sat Jul 9 06:37:58 2016 UTC (8 years, 5 months ago) by wiz
Branches: MAIN
CVS tags: pkgsrc-2019Q2-base, pkgsrc-2019Q2, pkgsrc-2019Q1-base, pkgsrc-2019Q1, pkgsrc-2018Q4-base, pkgsrc-2018Q4, pkgsrc-2018Q3-base, pkgsrc-2018Q3, pkgsrc-2018Q2-base, pkgsrc-2018Q2, pkgsrc-2018Q1-base, pkgsrc-2018Q1, pkgsrc-2017Q4-base, pkgsrc-2017Q4, pkgsrc-2017Q3-base, pkgsrc-2017Q3, pkgsrc-2017Q2-base, pkgsrc-2017Q2, pkgsrc-2017Q1-base, pkgsrc-2017Q1, pkgsrc-2016Q4-base, pkgsrc-2016Q4, pkgsrc-2016Q3-base, pkgsrc-2016Q3
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +2 -2 lines
Bump PKGREVISION for perl-5.24.0 for everything mentioning perl.

Revision 1.2: download - view: text, markup, annotated - select for diffs
Sun Jun 19 16:23:59 2016 UTC (8 years, 5 months ago) by wiz
Branches: MAIN
CVS tags: pkgsrc-2016Q2-base, pkgsrc-2016Q2
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +2 -2 lines
Bump version for USE_CROSSBASE removal.

Revision 1.1: download - view: text, markup, annotated - select for diffs
Sun Jun 19 16:19:04 2016 UTC (8 years, 5 months ago) by wiz
Branches: MAIN
Move libtool-base to cross-libtool-base to make PKGNAME match directory name.

Convert away from USE_CROSSBASE to plain ${PREFIX}/cross.

Diff request

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

Log view options

CVSweb <webmaster@jp.NetBSD.org>