linking to winsock

This commit is contained in:
timerix 2023-01-20 04:26:35 +06:00
parent 3d15cb35af
commit f64a8368ac
4 changed files with 28 additions and 20 deletions

1
cbuild Submodule

@ -0,0 +1 @@
Subproject commit dd6253f636a3e3ec2e4fb44e4bf08cecf88ffb9d

View File

@ -1,6 +1,6 @@
#!/bin/bash
CBUILD_VERSION=3
CONFIG_VERSION=4
CBUILD_VERSION=4
CONFIG_VERSION=5
PROJECT=kerep
CMP_C=gcc
@ -20,52 +20,44 @@ EXEC_FILE=$PROJECT.com
SHARED_LIB_FILE=$PROJECT.so
STATIC_LIB_FILE=$PROJECT.a
#can be used in tasks
#PRE_TASK_SCRIPT=
#POST_TASK_SCRIPT=
case $TASK in
build_exec)
C_ARGS="-O2"
CPP_ARGS="$C_ARGS"
LINKER_ARGS=""
TASK_SCRIPT=cbuild/default_tasks/build_exec.sh
PRE_TASK_SCRIPT=tasks/pre_build.sh
POST_TASK_SCRIPT=
;;
build_exec_dbg)
C_ARGS="-O0 -g"
CPP_ARGS="$C_ARGS"
LINKER_ARGS=""
TASK_SCRIPT=cbuild/default_tasks/build_exec.sh
PRE_TASK_SCRIPT=tasks/pre_build.sh
POST_TASK_SCRIPT=
;;
build_shared_lib)
C_ARGS="-O2 -fpic -flto -shared"
CPP_ARGS="$C_ARGS"
LINKER_ARGS="-Wl,-soname,$SHARED_LIB_FILE"
TASK_SCRIPT=cbuild/default_tasks/build_shared_lib.sh
PRE_TASK_SCRIPT=tasks/pre_build.sh
POST_TASK_SCRIPT=
;;
build_shared_lib_dbg)
C_ARGS="-O0 -g -fpic -shared"
CPP_ARGS="$C_ARGS"
LINKER_ARGS="-Wl,-soname,$SHARED_LIB_FILE"
TASK_SCRIPT=cbuild/default_tasks/build_shared_lib.sh
PRE_TASK_SCRIPT=tasks/pre_build.sh
POST_TASK_SCRIPT=
;;
build_static_lib)
C_ARGS="-O2 -fpic"
CPP_ARGS="$C_ARGS"
CPP_ARGS="$C_ARGS"
TASK_SCRIPT=cbuild/default_tasks/build_static_lib.sh
PRE_TASK_SCRIPT=tasks/pre_build.sh
POST_TASK_SCRIPT=
;;
build_static_lib_dbg)
C_ARGS="-O0 -g"
CPP_ARGS="$C_ARGS"
CPP_ARGS="$C_ARGS"
TASK_SCRIPT=cbuild/default_tasks/build_static_lib.sh
PRE_TASK_SCRIPT=tasks/pre_build.sh
POST_TASK_SCRIPT=
;;
exec)
TASK_SCRIPT=cbuild/default_tasks/exec.sh
@ -75,3 +67,15 @@ case $TASK in
TASK_SCRIPT=cbuild/default_tasks/valgrind.sh
;;
esac
case $OS in
WINDOWS)
LINKER_ARGS="$LINKER_ARGS -lws2_32"
;;
LINUX)
;;
*)
printf "${RED}operating system $OS has no configuration variants\n"
exit 1
;;
esac

View File

@ -6,10 +6,6 @@ extern "C" {
#include "../base/base.h"
#if defined(_WIN64) || defined(_WIN32)
#define KN_USE_WINSOCK 1
#endif
#include "knAddress.h"
#include "sockets/knSocketTCP.h"
#include "sockets/knSocketUDP.h"

View File

@ -4,8 +4,15 @@
extern "C" {
#endif
#if defined(_WIN64) || defined(_WIN32)
#define KN_USE_WINSOCK 1
#else
#define KN_USE_WINSOCK 0
#endif
#if KN_USE_WINSOCK
#include <winsock2.h>
// #include <ws2tcpip.h>
#else
#include <sys/types.h>
#include <sys/socket.h>