From 0198ca77a799bd7db6f799be37180c90216ebf67 Mon Sep 17 00:00:00 2001 From: Dan Buch Date: Mon, 26 Dec 2016 22:12:00 -0500 Subject: [PATCH 1/6] Touchups for MacOS --- INSTALL => INSTALL.md | 0 Makefile | 42 +++++++++++++++++++++++++++--------------- mcrcon.c | 2 +- 3 files changed, 28 insertions(+), 16 deletions(-) rename INSTALL => INSTALL.md (100%) diff --git a/INSTALL b/INSTALL.md similarity index 100% rename from INSTALL rename to INSTALL.md diff --git a/Makefile b/Makefile index 14b0f34..4d653d1 100644 --- a/Makefile +++ b/Makefile @@ -3,35 +3,47 @@ # export CROSS_COMPILE=arm-none-linux-gnueabi- # make +EXENAME = mcrcon +PREFIX ?= /usr/local + +CFLAGS = -std=gnu99 -Wall -Wextra -Wpedantic -Os -s +EXTRAFLAGS = -fstack-protector-strong + +CC = gcc +INSTALL = install +LINKER = +RM = rm -f + ifeq ($(OS), Windows_NT) LINKER = -lws2_32 EXENAME = mcrcon.exe RM = cmd /C del /F -else - LINKER = - EXENAME = mcrcon - RM = rm -f endif -CC = gcc -CFLAGS = -std=gnu99 -Wall -Wextra -Wpedantic -Os -s -EXTRAFLAGS = -fstack-protector-strong +ifeq ($(shell uname), Darwin) + INSTALL = ginstall + CFLAGS = -std=gnu99 -Wall -Wextra -Wpedantic -Os +endif -all: - $(CROSS_COMPILE)$(CC) $(CFLAGS) $(EXTRAFLAGS) -o $(EXENAME) mcrcon.c $(LINKER) +.PHONY: all +all: $(EXENAME) + +$(EXENAME): mcrcon.c + $(CROSS_COMPILE)$(CC) $(CFLAGS) $(EXTRAFLAGS) -o $@ $< $(LINKER) ifneq ($(OS), Windows_NT) +.PHONY: install install: - cp $(EXENAME) /usr/local/bin/$(EXENAME) - chmod 0755 /usr/local/bin/$(EXENAME) - cp mcrcon.1 /usr/local/share/man/man1/mcrcon.1 - chmod 0644 /usr/local/share/man/man1/mcrcon.1 + $(INSTALL) -vD $(EXENAME) $(PREFIX)/bin/$(EXENAME) + $(INSTALL) -vD -m 0644 mcrcon.1 $(PREFIX)/share/man/man1/mcrcon.1 @echo "\nmcrcon installed. Run 'make uninstall' if you want to uninstall.\n" + +.PHONY: uninstall uninstall: - rm -f /usr/local/bin/$(EXENAME) - rm -f /usr/local/share/man/man1/mcrcon.1 + rm -f $(PREFIX)/bin/$(EXENAME) $(PREFIX)/share/man/man1/mcrcon.1 @echo "\nmcrcon uninstalled.\n" endif +.PHONY: clean clean: $(RM) $(EXENAME) diff --git a/mcrcon.c b/mcrcon.c index aa8bae0..378c12b 100644 --- a/mcrcon.c +++ b/mcrcon.c @@ -304,7 +304,7 @@ int net_connect(const char *host, const char *port) { int sd; - struct addrinfo hints = {0}; + struct addrinfo hints = {.ai_family = 0}; struct addrinfo *server_info, *p; hints.ai_family = AF_UNSPEC; From 56389a8becfd682f82c3f0490b875900efa6a6a1 Mon Sep 17 00:00:00 2001 From: Dan Buch Date: Tue, 27 Dec 2016 10:25:51 -0500 Subject: [PATCH 2/6] Add some Travis integration --- .travis.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..e263ac0 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,10 @@ +language: c +sudo: false +dist: trusty +install: 'true' +script: +- make +- make install +- mcrcon -h +- mcrcon -v +- make uninstall From b4a64d21cd51d6214725094ba0847a4cc3e25de5 Mon Sep 17 00:00:00 2001 From: Dan Buch Date: Tue, 27 Dec 2016 11:40:18 -0500 Subject: [PATCH 3/6] More touchups to CI bits --- .travis.yml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index e263ac0..b6834a8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,10 +1,15 @@ language: c sudo: false dist: trusty +cache: + ccache: true +compiler: +- gcc +- clang install: 'true' script: - make -- make install -- mcrcon -h -- mcrcon -v -- make uninstall +- ./mcrcon -h +- ./mcrcon -v +- make install PREFIX="${HOME}" +- make uninstall PREFIX="${HOME}" From f02e32793d3bca6d88116d352bd733e278af7584 Mon Sep 17 00:00:00 2001 From: Dan Buch Date: Tue, 27 Dec 2016 11:43:21 -0500 Subject: [PATCH 4/6] More make and CI bits tweaks --- .travis.yml | 11 ++++++++--- Makefile | 8 ++++---- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index b6834a8..18d24a0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,10 +6,15 @@ cache: compiler: - gcc - clang -install: 'true' +env: + global: + - EXTRAFLAGS= + - PREFIX="${HOME}" +install: +- 'true' script: - make - ./mcrcon -h - ./mcrcon -v -- make install PREFIX="${HOME}" -- make uninstall PREFIX="${HOME}" +- make install +- make uninstall diff --git a/Makefile b/Makefile index 4d653d1..4dc0aee 100644 --- a/Makefile +++ b/Makefile @@ -6,10 +6,10 @@ EXENAME = mcrcon PREFIX ?= /usr/local -CFLAGS = -std=gnu99 -Wall -Wextra -Wpedantic -Os -s -EXTRAFLAGS = -fstack-protector-strong +CFLAGS ?= -std=gnu99 -Wall -Wextra -Wpedantic -Os -s +EXTRAFLAGS ?= -fstack-protector-strong -CC = gcc +CC ?= gcc INSTALL = install LINKER = RM = rm -f @@ -22,7 +22,7 @@ endif ifeq ($(shell uname), Darwin) INSTALL = ginstall - CFLAGS = -std=gnu99 -Wall -Wextra -Wpedantic -Os + CFLAGS ?= -std=gnu99 -Wall -Wextra -Wpedantic -Os endif .PHONY: all From 64c8c6ba163b7c881479c0d12dc611dffa8156f0 Mon Sep 17 00:00:00 2001 From: Dan Buch Date: Tue, 27 Dec 2016 11:49:35 -0500 Subject: [PATCH 5/6] Define EXTRAFLAGS to avoid issues with `-fstack-protector-strong` --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 18d24a0..2a9e9ba 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,7 @@ compiler: - clang env: global: - - EXTRAFLAGS= + - EXTRAFLAGS='-v' - PREFIX="${HOME}" install: - 'true' From 02ae39747e8ccf8dd01eed40ea31a87bb5cd31bd Mon Sep 17 00:00:00 2001 From: Dan Buch Date: Tue, 3 Jan 2017 15:39:41 -0500 Subject: [PATCH 6/6] Changes per feedback on #16 --- Makefile | 6 +++--- mcrcon.c | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 4dc0aee..54e553f 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -# if you want to cross compile +# if you want to cross compile # export PATH=$PATH:/path/to/compiler/bin # export CROSS_COMPILE=arm-none-linux-gnueabi- # make @@ -6,10 +6,8 @@ EXENAME = mcrcon PREFIX ?= /usr/local -CFLAGS ?= -std=gnu99 -Wall -Wextra -Wpedantic -Os -s EXTRAFLAGS ?= -fstack-protector-strong -CC ?= gcc INSTALL = install LINKER = RM = rm -f @@ -23,6 +21,8 @@ endif ifeq ($(shell uname), Darwin) INSTALL = ginstall CFLAGS ?= -std=gnu99 -Wall -Wextra -Wpedantic -Os +else + CFLAGS ?= -std=gnu99 -Wall -Wextra -Wpedantic -Os -s endif .PHONY: all diff --git a/mcrcon.c b/mcrcon.c index 378c12b..8145dea 100644 --- a/mcrcon.c +++ b/mcrcon.c @@ -304,9 +304,10 @@ int net_connect(const char *host, const char *port) { int sd; - struct addrinfo hints = {.ai_family = 0}; + struct addrinfo hints; struct addrinfo *server_info, *p; + memset(&hints, 0, sizeof hints); hints.ai_family = AF_UNSPEC; hints.ai_socktype = SOCK_STREAM; hints.ai_protocol = IPPROTO_TCP;