Skip to content

Commit 78569ac

Browse files
thewon86Hadatko
andauthored
Feature/winsock2 support (#365)
* Feature/winsock2 support * Adding mingw to testing tcp apps. Signed-off-by: Dusan Cervenka <cervenka.dusan@gmail.com> * Update run_unit_tests.py Remove redundant print cmd * Hide shell errors for mingw Signed-off-by: Cervenka Dusan <cervenka@acrios.com> * Adding delay between running tests Looks like server on mac target is not ready when client is executed Signed-off-by: Cervenka Dusan <cervenka@acrios.com> * Change pragma for g_client for mingw Signed-off-by: Cervenka Dusan <cervenka@acrios.com> --------- Signed-off-by: Dusan Cervenka <cervenka.dusan@gmail.com> Signed-off-by: Cervenka Dusan <cervenka@acrios.com> Co-authored-by: Dusan Cervenka <cervenka.dusan@gmail.com> Co-authored-by: Cervenka Dusan <cervenka@acrios.com>
1 parent 9fb5763 commit 78569ac

File tree

17 files changed

+210
-34
lines changed

17 files changed

+210
-34
lines changed

.circleci/config.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ jobs:
4949
steps:
5050
- checkout
5151
- run: powershell.exe .\install_dependencies.ps1
52-
- run: powershell.exe .\mingw64\bin\mingw32-make erpcgen
52+
- run: .\mingw64\bin\mingw32-make all
53+
- run: .\mingw64\opt\bin\python3.exe .\test\run_unit_tests.py -m"..\\..\\mingw64\\bin\\mingw32-make"
5354
# - store_artifacts:
5455
# path: ./Release/MINGW64/erpcgen/erpcgen.exe
5556
build-windows-VS:

erpc_c/Makefile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ SOURCES += $(ERPC_C_ROOT)/infra/erpc_arbitrated_client_manager.cpp \
6363
$(ERPC_C_ROOT)/infra/erpc_pre_post_action.cpp \
6464
$(ERPC_C_ROOT)/port/erpc_port_stdlib.cpp \
6565
$(ERPC_C_ROOT)/port/erpc_threading_pthreads.cpp \
66-
$(ERPC_C_ROOT)/port/erpc_serial.cpp \
6766
$(ERPC_C_ROOT)/setup/erpc_arbitrated_client_setup.cpp \
6867
$(ERPC_C_ROOT)/setup/erpc_client_setup.cpp \
6968
$(ERPC_C_ROOT)/setup/erpc_setup_mbf_dynamic.cpp \
@@ -72,8 +71,11 @@ SOURCES += $(ERPC_C_ROOT)/infra/erpc_arbitrated_client_manager.cpp \
7271
$(ERPC_C_ROOT)/setup/erpc_setup_serial.cpp \
7372
$(ERPC_C_ROOT)/setup/erpc_setup_tcp.cpp \
7473
$(ERPC_C_ROOT)/transports/erpc_inter_thread_buffer_transport.cpp \
75-
$(ERPC_C_ROOT)/transports/erpc_serial_transport.cpp \
7674
$(ERPC_C_ROOT)/transports/erpc_tcp_transport.cpp
75+
ifeq "$(is_mingw)" ""
76+
SOURCES += $(ERPC_C_ROOT)/transports/erpc_serial_transport.cpp \
77+
$(ERPC_C_ROOT)/port/erpc_serial.cpp
78+
endif
7779

7880
HEADERS += $(ERPC_C_ROOT)/config/erpc_config.h \
7981
$(ERPC_C_ROOT)/infra/erpc_arbitrated_client_manager.hpp \

erpc_c/port/erpc_config_internal.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@
2222
#if !defined(ERPC_HAS_POSIX)
2323
// Detect Linux, BSD, Cygwin, and Mac OS X.
2424
#if defined(__linux__) || defined(__GNU__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
25-
defined(__OpenBSD__) || defined(__DragonFly__) || defined(__CYGWIN__) || defined(__MACH__)
25+
defined(__OpenBSD__) || defined(__DragonFly__) || defined(__CYGWIN__) || defined(__MACH__) || \
26+
defined(__MINGW32__)
2627
#define ERPC_HAS_POSIX (1)
2728
#else
2829
#define ERPC_HAS_POSIX (0)

erpc_c/port/erpc_port_stdlib.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
using namespace std;
1717

18+
#if !defined(__MINGW32__)
1819
void *operator new(size_t count) THROW_BADALLOC
1920
{
2021
void *p = erpc_malloc(count);
@@ -62,6 +63,7 @@ void operator delete[](void *ptr, std::size_t count) THROW NOEXCEPT
6263
(void)count;
6364
erpc_free(ptr);
6465
}
66+
#endif
6567

6668
void *erpc_malloc(size_t size)
6769
{

erpc_c/setup/erpc_arbitrated_client_setup.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,13 @@ using namespace erpc;
3131

3232
// global client variables
3333
ERPC_MANUALLY_CONSTRUCTED_STATIC(ArbitratedClientManager, s_client);
34+
#if defined(__MINGW32__)
35+
__declspec( selectany )
36+
#endif
3437
ClientManager *g_client;
38+
#if !defined(__MINGW32__)
3539
#pragma weak g_client
40+
#endif
3641

3742
ERPC_MANUALLY_CONSTRUCTED_STATIC(BasicCodecFactory, s_codecFactory);
3843
ERPC_MANUALLY_CONSTRUCTED_STATIC(TransportArbitrator, s_arbitrator);

erpc_c/setup/erpc_client_setup.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,13 @@ using namespace erpc;
2929

3030
// global client variables
3131
ERPC_MANUALLY_CONSTRUCTED_STATIC(ClientManager, s_client);
32+
#if defined(__MINGW32__)
33+
__declspec( selectany )
34+
#endif
3235
ClientManager *g_client;
36+
#if !defined(__MINGW32__)
3337
#pragma weak g_client
38+
#endif
3439
ERPC_MANUALLY_CONSTRUCTED_STATIC(BasicCodecFactory, s_codecFactory);
3540
ERPC_MANUALLY_CONSTRUCTED_STATIC(Crc16, s_crc16);
3641

0 commit comments

Comments
 (0)