Merge pull request #720 from samiahlroos/3.x

build Go tools from top Makefile
This commit is contained in:
Sveta Smirnova
2023-11-29 14:29:28 +03:00
committed by GitHub
2 changed files with 27 additions and 3 deletions

View File

@@ -1,22 +1,40 @@
use ExtUtils::MakeMaker; use ExtUtils::MakeMaker;
use ExtUtils::MY;
sub MY::postamble {
return <<'MAKE_GOTOOLS';
gotools:
cd src/go && $(MAKE) build
MAKE_GOTOOLS
}
WriteMakefile( WriteMakefile(
NAME => 'Percona::Toolkit', NAME => 'Percona::Toolkit',
VERSION => '3.5.5', VERSION => '3.5.5',
EXE_FILES => [ <bin/*> ], EXE_FILES => [
map {
(my $name = $_) =~ s/^bin.//;
my $file_name = $_;
if ( ( $file_name !~ m/mongo/ ) || ( $file_name !~ m/pg/ ) || ( $file_name !~ m/pt-stalk/ ) || ( $file_name !~ m/pt-k8s/ ) ) {
$_;
}
} <bin/*>
],
MAN1PODS => { MAN1PODS => {
'docs/percona-toolkit.pod' => 'blib/man1/percona-toolkit.1p', 'docs/percona-toolkit.pod' => 'blib/man1/percona-toolkit.1p',
map { map {
(my $name = $_) =~ s/^bin.//; (my $name = $_) =~ s/^bin.//;
my $file_name = $_; my $file_name = $_;
if ( ( $file_name !~ m/mongo/ ) || ( $file_name !~ m/pg/ ) || ( $file_name !~ m/pt-stalk/ ) ) { if ( ( $file_name !~ m/mongo/ ) || ( $file_name !~ m/pg/ ) || ( $file_name !~ m/pt-stalk/ ) || ( $file_name !~ m/pt-k8s/ ) ) {
$_ => "blib/man1/$name.1p"; $_ => "blib/man1/$name.1p";
} }
} <bin/*> } <bin/*>
}, },
MAN3PODS => {}, # man(3) pages are for C libs MAN3PODS => {}, # man(3) pages are for C libs
depend => {manifypods => gotools},
PREREQ_PM => { PREREQ_PM => {
DBI => 1.46, DBI => 1.46,
DBD::mysql => 3.0000_0, DBD::mysql => 3.0000_0,
}, },
); );

View File

@@ -151,6 +151,12 @@ darwin-arm64: ## Build Go tools for darwin-arm64 (MacOS)
@$(foreach pkg,$(pkgs),rm -f ${BIN_DIR}/$(pkg) 2> /dev/null;) @$(foreach pkg,$(pkgs),rm -f ${BIN_DIR}/$(pkg) 2> /dev/null;)
@$(foreach pkg,$(pkgs),GOOS=darwin GOARCH=arm64 go build -ldflags ${LDFLAGS} -o ${BIN_DIR}/$(pkg) ./$(pkg);) @$(foreach pkg,$(pkgs),GOOS=darwin GOARCH=arm64 go build -ldflags ${LDFLAGS} -o ${BIN_DIR}/$(pkg) ./$(pkg);)
build:
@echo "Building binaries in ${BIN_DIR} as version ${VERSION}"
@cd ${TOP_DIR} && go get ./...
@$(foreach pkg,$(pkgs),rm -f ${BIN_DIR}/$(pkg) 2> /dev/null;)
@$(foreach pkg,$(pkgs),go build -ldflags ${LDFLAGS} -o ${BIN_DIR}/$(pkg) ./$(pkg);)
style: ## Check code style style: ## Check code style
@echo ">> checking code style" @echo ">> checking code style"
@! gofmt -d $(shell find . -path ./vendor -prune -o -name '*.go' -print) | grep '^' @! gofmt -d $(shell find . -path ./vendor -prune -o -name '*.go' -print) | grep '^'