File: README.OpenBSD

package info (click to toggle)
perl-tk 1:804.033-2
  • links: PTS
  • area: main
  • in suites: bullseye, buster, sid
  • size: 34,724 kB
  • ctags: 37,174
  • sloc: ansic: 349,541; perl: 52,192; sh: 17,904; makefile: 5,732; asm: 3,565; ada: 1,681; pascal: 1,089; cpp: 1,006; yacc: 883; cs: 879
file content (17 lines) | stat: -rw-r--r-- 763 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

OpenBSD's default perl Config.pm includes -Bforcearchive in the link
flags for loadable extensions.

The way Tk build is supposed to work is that all the converted Tcl/Tk
.c files get compiled in pTk subdirectory and put in the archive library
libpTk.a .  Then each of Tk widgets and sub-systems links their own
.o files and libpTk.a - with the intent of only picking the bits from
libpTk.a they need. But -Bforcearchive tells linker to include ALL
of the .o files in the .a file - which not only leads to huge loadables
full of unused code, but also gives multiple definitions
of symbols in Tk::Event which expects to be able to override some
of the generic routines.

So Tk/MMutil.pm attempts to remove the option from LDDLFLAGS when
perl's $^O eq 'openbsd'.