Added target FREEBSD

This commit is contained in:
badaix 2016-06-26 11:32:20 +02:00
parent 931df97399
commit d77c4d2880
2 changed files with 29 additions and 1 deletions

View file

@ -38,7 +38,9 @@
#include <sys/stat.h>
#include <unistd.h>
#include <iomanip>
#ifndef FREEBSD
#include <sys/sysinfo.h>
#endif
#include <sys/utsname.h>
@ -232,9 +234,13 @@ static std::string getArch()
static long uptime()
{
#ifndef FREEBSD
struct sysinfo info;
sysinfo(&info);
return info.uptime;
#else
return 0;
#endif
}
@ -263,7 +269,11 @@ static std::string getMacAddress(int sock)
{
if (!(ifr.ifr_flags & IFF_LOOPBACK)) // don't count loopback
{
#ifndef FREEBSD
if (ioctl(sock, SIOCGIFHWADDR, &ifr) == 0)
#else
if (ioctl(sock, SIOCGIFMAC, &ifr) == 0)
#endif
{
success = 1;
break;
@ -290,9 +300,19 @@ static std::string getMacAddress(int sock)
return "";
char mac[19];
#ifndef FREEBSD
sprintf(mac, "%02x:%02x:%02x:%02x:%02x:%02x",
(unsigned char)ifr.ifr_hwaddr.sa_data[0], (unsigned char)ifr.ifr_hwaddr.sa_data[1], (unsigned char)ifr.ifr_hwaddr.sa_data[2],
(unsigned char)ifr.ifr_hwaddr.sa_data[3], (unsigned char)ifr.ifr_hwaddr.sa_data[4], (unsigned char)ifr.ifr_hwaddr.sa_data[5]);
#else
sprintf(mac, "%02x:%02x:%02x:%02x:%02x:%02x",
(unsigned char)ifr.ifr_ifru.ifru_addr.sa_data[0], (unsigned char)ifr.ifr_ifru.ifru_addr.sa_data[1],
(unsigned
char)ifr.ifr_ifru.ifru_addr.sa_data[2],
(unsigned char)ifr.ifr_ifru.ifru_addr.sa_data[3], (unsigned char)ifr.ifr_ifru.ifru_addr.sa_data[4],
(unsigned
char)ifr.ifr_ifru.ifru_addr.sa_data[5]);
#endif
return mac;
}

View file

@ -17,6 +17,14 @@ STRIP = echo
CXXFLAGS += -DIS_BIG_ENDIAN -DNO_CPP11_STRING
LDFLAGS = -lvorbis -lvorbisenc -logg -lFLAC -lavahi-client -lavahi-common -latomic
else ifeq ($(TARGET), FREEBSD)
SHELL = /usr/local/bin/bash
CXX = /usr/local/bin/g++
CXXFLAGS += -DNO_CPP11_STRING
STRIP = strip
LDFLAGS = -lrt -lvorbis -lvorbisenc -logg -lFLAC -lavahi-client -lavahi-common -static-libgcc -static-libstdc++
else
CXX = /usr/bin/g++