use proper linker
All checks were successful
pyrite-dev/milsko/pipeline/head This commit looks good

This commit is contained in:
Nishi 2026-04-28 15:24:45 +09:00
commit df275c3331
3 changed files with 24 additions and 18 deletions

12
configure vendored
View file

@ -12,6 +12,7 @@ foreach my $l (@ARGV) {
our $prefix = "/usr/local";
our $cc = defined($ENV{CC}) ? $ENV{CC} : "*host*gcc";
our $cxx = defined($ENV{CXX}) ? $ENV{CXX} : "*host*g++";
our $ar = defined($ENV{AR}) ? $ENV{AR} : "*host*ar";
our $incdir = "-I include";
our $incdir2 = "";
@ -201,6 +202,7 @@ open(OUT, ">", "Makefile");
print(OUT "PREFIX = ${prefix}\n");
print(OUT "AR = ${ar}\n");
print(OUT "CC = ${cc}\n");
print(OUT "CXX = ${cxx}\n");
print(OUT "INCDIR = ${incdir} ${incdir2}\n");
print(OUT "CFLAGS = ${cflags}\n");
print(OUT "LIBDIR = ${libdir}\n");
@ -241,11 +243,15 @@ if (param_get("static")) {
print(OUT "\n");
print(OUT "\n");
if (param_get("shared")) {
my $linker = "CC";
if (grep(/^haiku$/, @backends)) {
$linker = "CXX";
}
print( OUT "src/${library_prefix}Mw${library_suffix}: "
. join(" ", @library_targets)
. "\n");
print(OUT
" \$(CC) \$(SHARED) \$(LDFLAGS\) \$(LIBDIR) -o src/${library_prefix}Mw${library_suffix} "
" \$($linker) \$(SHARED) \$(LDFLAGS\) \$(LIBDIR) -o src/${library_prefix}Mw${library_suffix} "
. join(" ", @library_targets)
. " \$(LIBS)\n");
print(OUT "\n");
@ -258,6 +264,7 @@ if (param_get("static")) {
foreach my $l (@library_targets) {
my $warn = "-Wall -Wextra -Wno-sign-compare -Wno-unused-value";
my $s = $l;
my $compiler = "CC";
my $o = $object_suffix;
$o =~ s/\./\\\./g;
@ -266,6 +273,7 @@ foreach my $l (@library_targets) {
}
elsif ($l =~ /haiku/) {
$s =~ s/$o$/.cxx/;
$compiler = "CXX";
}
else {
$s =~ s/$o$/.c/;
@ -276,7 +284,7 @@ foreach my $l (@library_targets) {
}
print(OUT "${l}: ${s}\n");
print(OUT " \$(CC) $warn \$\(INCDIR) \$(CFLAGS\) -c -o ${l} ${s}\n");
print(OUT " \$($compiler) $warn \$\(INCDIR) \$(CFLAGS\) -c -o ${l} ${s}\n");
}
print(OUT "\n");
print(OUT "\n");

View file

@ -1,5 +1,3 @@
$cc = "g++";
use_backend("haiku");
1;

View file

@ -50,33 +50,33 @@ void MwLLShowImpl(MwLL handle, int show) {}
void MwLLSetSizeHintsImpl(MwLL handle, int minx, int miny, int maxx, int maxy) {}
void MwLLMakeBorderlessImpl(MwLL handle, int toggle){}
void MwLLMakeBorderlessImpl(MwLL handle, int toggle) {}
void MwLLMakeToolWindowImpl(MwLL handle){}
void MwLLMakeToolWindowImpl(MwLL handle) {}
void MwLLMakePopupImpl(MwLL handle, MwLL parent){}
void MwLLMakePopupImpl(MwLL handle, MwLL parent) {}
void MwLLBeginStateChangeImpl(MwLL handle){}
void MwLLBeginStateChangeImpl(MwLL handle) {}
void MwLLEndStateChangeImpl(MwLL handle){}
void MwLLEndStateChangeImpl(MwLL handle) {}
void MwLLFocusImpl(MwLL handle){}
void MwLLFocusImpl(MwLL handle) {}
void MwLLGrabPointerImpl(MwLL handle, int toggle){}
void MwLLGrabPointerImpl(MwLL handle, int toggle) {}
void MwLLSetClipboardImpl(MwLL handle, const char* text, int clipboard_type){}
void MwLLSetClipboardImpl(MwLL handle, const char* text, int clipboard_type) {}
void MwLLGetClipboardImpl(MwLL handle, int clipboard_type){}
void MwLLGetClipboardImpl(MwLL handle, int clipboard_type) {}
void MwLLGetCursorCoordImpl(MwLL handle, MwPoint* point){}
void MwLLGetCursorCoordImpl(MwLL handle, MwPoint* point) {}
void MwLLGetScreenSizeImpl(MwLL handle, MwRect* rect){}
void MwLLGetScreenSizeImpl(MwLL handle, MwRect* rect) {}
void MwLLSetDarkThemeImpl(MwLL handle, int toggle){}
void MwLLSetDarkThemeImpl(MwLL handle, int toggle) {}
MwBool MwLLDoModernImpl(MwLL handle){}
MwBool MwLLDoModernImpl(MwLL handle) {}
int MwLLHaikuCallInitImpl(){}
int MwLLHaikuCallInitImpl() {}
#include "call.c"
CALL(Haiku);