MCPcopy Create free account
hub / github.com/apache/nuttx / get_os

Function get_os

tools/incdir.c:122–173  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

120}
121
122static enum os_e get_os(void)
123{
124#ifdef CONFIG_WINDOWS_NATIVE
125 return OS_WINDOWS;
126#else
127 struct utsname buf;
128 int ret;
129
130 /* Get the context names */
131
132 ret = uname(&buf);
133 if (ret < 0)
134 {
135 int errcode = errno;
136 fprintf(stderr, "ERROR: uname failed: %s\n", strerror(errcode));
137 exit(EXIT_FAILURE);
138 }
139
140 if (strcmp(buf.sysname, "Linux") == 0)
141 {
142 return OS_LINUX; /* Or OS_WSL */
143 }
144 else if (strncmp(buf.sysname, "CYGWIN", 6) == 0)
145 {
146 return OS_CYGWIN;
147 }
148 else if (strncmp(buf.sysname, "MINGW", 5) == 0)
149 {
150 return OS_CYGWIN;
151 }
152 else if (strncmp(buf.sysname, "MSYS", 4) == 0)
153 {
154 return OS_CYGWIN;
155 }
156 else if (strcmp(buf.sysname, "Darwin") == 0)
157 {
158 return OS_MACOS;
159 }
160 else if (strcmp(buf.sysname, "FreeBSD") == 0 ||
161 strcmp(buf.sysname, "OpenBSD") == 0 ||
162 strcmp(buf.sysname, "GNU/kFreeBSD") == 0)
163 {
164 return OS_BSD;
165 }
166 else
167 {
168 fprintf(stderr, "ERROR: Unknown operating system: %s\n",
169 buf.sysname);
170 return OS_UNKNOWN;
171 }
172#endif
173}
174
175static enum compiler_e get_compiler(char *ccname)
176{

Callers 1

mainFunction · 0.85

Calls 6

unameFunction · 0.85
fprintfFunction · 0.85
strerrorFunction · 0.85
exitFunction · 0.85
strcmpFunction · 0.50
strncmpFunction · 0.50

Tested by

no test coverage detected