From: Jerome Benoit Date: Sat, 18 Mar 2017 21:40:40 +0000 (+0100) Subject: Buildsystem: be more friendly with cygwin environment X-Git-Url: https://git.piment-noir.org/?p=TD_C.git;a=commitdiff_plain;h=5d64063095177554839e67ddc73193929f115d07 Buildsystem: be more friendly with cygwin environment Disable GOLD linker and some minor code cleanups Signed-off-by: Jerome Benoit --- diff --git a/TP_11/exo2/Makefile b/TP_11/exo2/Makefile index 5555dc6..d8dd23a 100644 --- a/TP_11/exo2/Makefile +++ b/TP_11/exo2/Makefile @@ -36,6 +36,7 @@ AR=ar WARN_FLAGS = -Wall -Wextra STD_FLAG = -std=c11 +UNAME := $(shell uname -o) ifeq ($(BUILD_TYPE),debug) BUILDDIR := .build/debug @@ -53,6 +54,10 @@ LTO_SUPPORT = yes GOLD_SUPPORT = yes endif +ifeq ($(UNAME),Cygwin) +GOLD_SUPPORT = no +endif + ifeq ($(LTO_SUPPORT),yes) CFLAGS_LTO = -flto -ffat-lto-objects LDFLAGS_LTO = -fuse-linker-plugin -flto diff --git a/TP_11/exo2/lib/clist.c b/TP_11/exo2/lib/clist.c index 244a687..3031154 100644 --- a/TP_11/exo2/lib/clist.c +++ b/TP_11/exo2/lib/clist.c @@ -34,10 +34,11 @@ link_t* list_prepend(link_t* head, int value) { } link_t* list_insert(link_t* head, unsigned index, int value) { + unsigned max_index = list_count(head); if (index == 0) { return list_prepend(head, value); - } else if (index == list_count(head)) { + } else if (index == max_index) { return list_append(head, value); } else { link_t* link_insrt = list_new(value); @@ -58,7 +59,7 @@ link_t* list_delete(link_t* head, unsigned index) { link_t* head_prev = NULL; link_t* head_next = NULL; link_t* head_ret = NULL; - + if (head == NULL) { return NULL; } else if (index == 0) { @@ -209,8 +210,8 @@ void list_display_values(link_t* head) { printf("------Begin------\n"); while (head != NULL) { printf("value at [%d]=%d\n", i, head->value); - head = head->next; - i++; + head = head->next; + i++; } printf("------End------\n"); } diff --git a/TP_13/exo1/Makefile b/TP_13/exo1/Makefile index 5d1b9ab..152498c 100644 --- a/TP_13/exo1/Makefile +++ b/TP_13/exo1/Makefile @@ -36,6 +36,7 @@ AR=ar WARN_FLAGS = -Wall -Wextra STD_FLAG = -std=c11 +UNAME := $(shell uname -o) ifeq ($(BUILD_TYPE),debug) BUILDDIR := .build/debug @@ -53,6 +54,10 @@ LTO_SUPPORT = yes GOLD_SUPPORT = yes endif +ifeq ($(UNAME),Cygwin) +GOLD_SUPPORT = no +endif + ifeq ($(LTO_SUPPORT),yes) CFLAGS_LTO = -flto -ffat-lto-objects LDFLAGS_LTO = -fuse-linker-plugin -flto diff --git a/TP_13/exo2/Makefile b/TP_13/exo2/Makefile index 8f48f4e..2fa2084 100644 --- a/TP_13/exo2/Makefile +++ b/TP_13/exo2/Makefile @@ -37,6 +37,7 @@ AR=ar WARN_FLAGS = -Wall -Wextra STD_FLAG = -std=c11 +UNAME := $(shell uname -o) ifeq ($(BUILD_TYPE),debug) BUILDDIR := .build/debug @@ -54,6 +55,10 @@ LTO_SUPPORT = yes GOLD_SUPPORT = yes endif +ifeq ($(UNAME),Cygwin) +GOLD_SUPPORT = no +endif + ifeq ($(LTO_SUPPORT),yes) CFLAGS_LTO = -flto -ffat-lto-objects LDFLAGS_LTO = -fuse-linker-plugin -flto diff --git a/TP_9/exo2/clist.c b/TP_9/exo2/clist.c index 244a687..2fd3dfd 100644 --- a/TP_9/exo2/clist.c +++ b/TP_9/exo2/clist.c @@ -5,7 +5,7 @@ #include "clist.h" link_t* list_new(int value) { - link_t* link_new; + link_t* link_new; link_new = malloc(sizeof(link_t)); link_new->value = value; link_new->next = NULL; @@ -14,12 +14,12 @@ link_t* list_new(int value) { link_t* list_append(link_t* head, int value) { - if (head == NULL) { + if (head == NULL) { return head = list_new(value); } else { link_t* head_first = head; while (head->next != NULL) { - head = head->next; + head = head->next; } head->next = list_new(value); return head_first; @@ -28,7 +28,7 @@ link_t* list_append(link_t* head, int value) { link_t* list_prepend(link_t* head, int value) { link_t* first_link = list_new(value); - + first_link->next = head; return first_link; } @@ -36,11 +36,11 @@ link_t* list_prepend(link_t* head, int value) { link_t* list_insert(link_t* head, unsigned index, int value) { if (index == 0) { - return list_prepend(head, value); + return list_prepend(head, value); } else if (index == list_count(head)) { return list_append(head, value); } else { - link_t* link_insrt = list_new(value); + link_t* link_insrt = list_new(value); link_t* head_first = head; link_t* head_next = NULL; for (unsigned i = 0; i < index-1; i++) { @@ -49,7 +49,7 @@ link_t* list_insert(link_t* head, unsigned index, int value) { head_next = head->next; head->next = link_insrt; head = link_insrt; - head->next = head_next; + head->next = head_next; return head_first; } } @@ -58,7 +58,7 @@ link_t* list_delete(link_t* head, unsigned index) { link_t* head_prev = NULL; link_t* head_next = NULL; link_t* head_ret = NULL; - + if (head == NULL) { return NULL; } else if (index == 0) { @@ -108,12 +108,12 @@ link_t* list_sort(link_t* head) { tmp = head->value; head->value = head->next->value; head->next->value = tmp; - isswaped = true; + isswaped = true; } - head = head->next; + head = head->next; } - /* Reloop at the beginning of the list until there's values swaped */ - head = head_first; + /* Reloop at the beginning of the list until there's values swaped */ + head = head_first; } while (isswaped); return head_first; } @@ -129,10 +129,10 @@ static link_t* _list_merge_sort(link_t* head1, link_t* head2) { } if (head1->value < head2->value) { head_result = head1; - head_result->next = _list_merge_sort(head1->next, head2); + head_result->next = _list_merge_sort(head1->next, head2); } else { head_result = head2; - head_result->next = _list_merge_sort(head1, head2->next); + head_result->next = _list_merge_sort(head1, head2->next); } return head_result; } @@ -161,11 +161,11 @@ link_t* list_merge_sort(link_t* head) { unsigned list_count(link_t* head) { unsigned count = 0; - + while (head != NULL) { ++count; head = head->next; - } + } return count; } @@ -180,13 +180,13 @@ void list_set(link_t* head, unsigned index, int value) { } int list_get(link_t* head, unsigned index) { - unsigned count = 0; + unsigned count = 0; while (head != NULL && count < index) { ++count; - head = head->next; + head = head->next; } - if (head != NULL) { + if (head != NULL) { return head->value; } else { return -1; @@ -209,8 +209,8 @@ void list_display_values(link_t* head) { printf("------Begin------\n"); while (head != NULL) { printf("value at [%d]=%d\n", i, head->value); - head = head->next; - i++; + head = head->next; + i++; } printf("------End------\n"); }