1# Makefile.rtl for GNU Ada Compiler (GNAT). 2# Copyright (C) 2003-2021, Free Software Foundation, Inc. 3 4#This file is part of GCC. 5 6#GCC is free software; you can redistribute it and/or modify 7#it under the terms of the GNU General Public License as published by 8#the Free Software Foundation; either version 3, or (at your option) 9#any later version. 10 11#GCC is distributed in the hope that it will be useful, 12#but WITHOUT ANY WARRANTY; without even the implied warranty of 13#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14#GNU General Public License for more details. 15 16#You should have received a copy of the GNU General Public License 17#along with GCC; see the file COPYING3. If not see 18#<http://www.gnu.org/licenses/>. 19 20# This makefile fragment is included in the ada Makefile. 21 22# Its purpose is to allow the separate maintenance of the list of 23# GNATRTL objects and target pairs, which frequently changes. 24 25ifndef ADAC 26ADAC=$(CC) 27endif 28 29# Objects needed only for tasking 30GNATRTL_TASKING_OBJS= \ 31 a-dispat$(objext) \ 32 a-dynpri$(objext) \ 33 a-interr$(objext) \ 34 a-intnam$(objext) \ 35 a-reatim$(objext) \ 36 a-retide$(objext) \ 37 a-rttiev$(objext) \ 38 a-synbar$(objext) \ 39 a-sytaco$(objext) \ 40 a-tasatt$(objext) \ 41 a-taside$(objext) \ 42 a-tasini$(objext) \ 43 a-taster$(objext) \ 44 g-boubuf$(objext) \ 45 g-boumai$(objext) \ 46 g-semaph$(objext) \ 47 g-signal$(objext) \ 48 g-tastus$(objext) \ 49 g-thread$(objext) \ 50 s-inmaop$(objext) \ 51 s-interr$(objext) \ 52 s-intman$(objext) \ 53 s-mudido$(objext) \ 54 s-osinte$(objext) \ 55 s-proinf$(objext) \ 56 s-putaim$(objext) \ 57 s-solita$(objext) \ 58 s-stusta$(objext) \ 59 s-taasde$(objext) \ 60 s-tadeca$(objext) \ 61 s-tadert$(objext) \ 62 s-taenca$(objext) \ 63 s-taprob$(objext) \ 64 s-taprop$(objext) \ 65 s-tarest$(objext) \ 66 s-tasdeb$(objext) \ 67 s-tasinf$(objext) \ 68 s-tasini$(objext) \ 69 s-taskin$(objext) \ 70 s-taspri$(objext) \ 71 s-tasque$(objext) \ 72 s-tasren$(objext) \ 73 s-tasres$(objext) \ 74 s-tassta$(objext) \ 75 s-tasuti$(objext) \ 76 s-tataat$(objext) \ 77 s-tpinop$(objext) \ 78 s-tpoben$(objext) \ 79 s-tpobop$(objext) \ 80 s-tposen$(objext) \ 81 thread$(objext) \ 82 $(EXTRA_GNATRTL_TASKING_OBJS) 83 84# Objects that require IEEE Float 85GNATRTL_ALTIVEC_OBJS= \ 86 g-allein$(objext) \ 87 g-alleve$(objext) \ 88 g-altcon$(objext) \ 89 g-altive$(objext) \ 90 g-alveop$(objext) \ 91 g-alvety$(objext) \ 92 g-alvevi$(objext) 93 94# Objects needed for non-tasking 95GNATRTL_NONTASKING_OBJS= \ 96 a-assert$(objext) \ 97 a-btgbso$(objext) \ 98 a-calari$(objext) \ 99 a-calcon$(objext) \ 100 a-caldel$(objext) \ 101 a-calend$(objext) \ 102 a-calfor$(objext) \ 103 a-catizo$(objext) \ 104 a-cbdlli$(objext) \ 105 a-cbhama$(objext) \ 106 a-cbhase$(objext) \ 107 a-cbmutr$(objext) \ 108 a-cborma$(objext) \ 109 a-cborse$(objext) \ 110 a-cbprqu$(objext) \ 111 a-cbsyqu$(objext) \ 112 a-cdlili$(objext) \ 113 a-cfdlli$(objext) \ 114 a-cfhama$(objext) \ 115 a-cfhase$(objext) \ 116 a-cfinve$(objext) \ 117 a-cforma$(objext) \ 118 a-cforse$(objext) \ 119 a-cgaaso$(objext) \ 120 a-cgarso$(objext) \ 121 a-cgcaso$(objext) \ 122 a-chacon$(objext) \ 123 a-chahan$(objext) \ 124 a-charac$(objext) \ 125 a-chlat1$(objext) \ 126 a-chlat9$(objext) \ 127 a-chtgbk$(objext) \ 128 a-chtgbo$(objext) \ 129 a-chtgke$(objext) \ 130 a-chtgop$(objext) \ 131 a-chzla1$(objext) \ 132 a-chzla9$(objext) \ 133 a-cidlli$(objext) \ 134 a-cihama$(objext) \ 135 a-cihase$(objext) \ 136 a-cimutr$(objext) \ 137 a-ciorma$(objext) \ 138 a-ciormu$(objext) \ 139 a-ciorse$(objext) \ 140 a-clrefi$(objext) \ 141 a-coboho$(objext) \ 142 a-cobove$(objext) \ 143 a-cofove$(objext) \ 144 a-cofuba$(objext) \ 145 a-cofuma$(objext) \ 146 a-cofuse$(objext) \ 147 a-cofuve$(objext) \ 148 a-cogeso$(objext) \ 149 a-cohama$(objext) \ 150 a-cohase$(objext) \ 151 a-cohata$(objext) \ 152 a-coinho$(objext) \ 153 a-coinve$(objext) \ 154 a-colien$(objext) \ 155 a-colire$(objext) \ 156 a-comlin$(objext) \ 157 a-comutr$(objext) \ 158 a-conhel$(objext) \ 159 a-contai$(objext) \ 160 a-convec$(objext) \ 161 a-coorma$(objext) \ 162 a-coormu$(objext) \ 163 a-coorse$(objext) \ 164 a-coprnu$(objext) \ 165 a-costso$(objext) \ 166 a-coteio$(objext) \ 167 a-crbltr$(objext) \ 168 a-crbtgk$(objext) \ 169 a-crbtgo$(objext) \ 170 a-crdlli$(objext) \ 171 a-csquin$(objext) \ 172 a-cuprqu$(objext) \ 173 a-cusyqu$(objext) \ 174 a-cwila1$(objext) \ 175 a-cwila9$(objext) \ 176 a-decima$(objext) \ 177 a-dhfina$(objext) \ 178 a-diocst$(objext) \ 179 a-direct$(objext) \ 180 a-direio$(objext) \ 181 a-dirval$(objext) \ 182 a-einuoc$(objext) \ 183 a-elchha$(objext) \ 184 a-envvar$(objext) \ 185 a-except$(objext) \ 186 a-exctra$(objext) \ 187 a-finali$(objext) \ 188 a-flteio$(objext) \ 189 a-fwteio$(objext) \ 190 a-fzteio$(objext) \ 191 a-inteio$(objext) \ 192 a-ioexce$(objext) \ 193 a-iteint$(objext) \ 194 a-iwteio$(objext) \ 195 a-izteio$(objext) \ 196 a-lcteio$(objext) \ 197 a-lfteio$(objext) \ 198 a-lfwtio$(objext) \ 199 a-lfztio$(objext) \ 200 a-liteio$(objext) \ 201 a-liwtio$(objext) \ 202 a-liztio$(objext) \ 203 a-llctio$(objext) \ 204 a-llftio$(objext) \ 205 a-llfwti$(objext) \ 206 a-llfzti$(objext) \ 207 a-llitio$(objext) \ 208 a-lliwti$(objext) \ 209 a-llizti$(objext) \ 210 a-llltio$(objext) \ 211 a-lllwti$(objext) \ 212 a-lllzti$(objext) \ 213 a-locale$(objext) \ 214 a-nagefl$(objext) \ 215 a-naliop$(objext) \ 216 a-nallfl$(objext) \ 217 a-nalofl$(objext) \ 218 a-nashfl$(objext) \ 219 a-nbnbig$(objext) \ 220 a-nbnbin$(objext) \ 221 a-nbnbre$(objext) \ 222 a-ncelfu$(objext) \ 223 a-ngcefu$(objext) \ 224 a-ngcoar$(objext) \ 225 a-ngcoty$(objext) \ 226 a-ngelfu$(objext) \ 227 a-ngrear$(objext) \ 228 a-nlcefu$(objext) \ 229 a-nlcoar$(objext) \ 230 a-nlcoty$(objext) \ 231 a-nlelfu$(objext) \ 232 a-nllcar$(objext) \ 233 a-nllcef$(objext) \ 234 a-nllcty$(objext) \ 235 a-nllefu$(objext) \ 236 a-nllrar$(objext) \ 237 a-nlrear$(objext) \ 238 a-nscefu$(objext) \ 239 a-nscoty$(objext) \ 240 a-nselfu$(objext) \ 241 a-nuauco$(objext) \ 242 a-nuaufl$(objext) \ 243 a-nubinu$(objext) \ 244 a-nucoar$(objext) \ 245 a-nucoty$(objext) \ 246 a-nudira$(objext) \ 247 a-nuelfu$(objext) \ 248 a-nuflra$(objext) \ 249 a-numaux$(objext) \ 250 a-numeri$(objext) \ 251 a-nurear$(objext) \ 252 a-rbtgbk$(objext) \ 253 a-rbtgbo$(objext) \ 254 a-rbtgso$(objext) \ 255 a-sbecin$(objext) \ 256 a-sbhcin$(objext) \ 257 a-sblcin$(objext) \ 258 a-scteio$(objext) \ 259 a-secain$(objext) \ 260 a-sequio$(objext) \ 261 a-sfecin$(objext) \ 262 a-sfhcin$(objext) \ 263 a-sflcin$(objext) \ 264 a-sfteio$(objext) \ 265 a-sfwtio$(objext) \ 266 a-sfztio$(objext) \ 267 a-shcain$(objext) \ 268 a-siocst$(objext) \ 269 a-siteio$(objext) \ 270 a-siwtio$(objext) \ 271 a-siztio$(objext) \ 272 a-slcain$(objext) \ 273 a-ssicst$(objext) \ 274 a-ssitio$(objext) \ 275 a-ssiwti$(objext) \ 276 a-ssizti$(objext) \ 277 a-stboha$(objext) \ 278 a-stbubo$(objext) \ 279 a-stbufi$(objext) \ 280 a-stbufo$(objext) \ 281 a-stbuun$(objext) \ 282 a-stbuut$(objext) \ 283 a-stfiha$(objext) \ 284 a-stmaco$(objext) \ 285 a-storio$(objext) \ 286 a-strbou$(objext) \ 287 a-stream$(objext) \ 288 a-strfix$(objext) \ 289 a-strhas$(objext) \ 290 a-string$(objext) \ 291 a-strmap$(objext) \ 292 a-strsea$(objext) \ 293 a-strsto$(objext) \ 294 a-strsup$(objext) \ 295 a-strunb$(objext) \ 296 a-ststbo$(objext) \ 297 a-ststio$(objext) \ 298 a-ststun$(objext) \ 299 a-sttebu$(objext) \ 300 a-stunau$(objext) \ 301 a-stunha$(objext) \ 302 a-stuten$(objext) \ 303 a-stwibo$(objext) \ 304 a-stwifi$(objext) \ 305 a-stwiha$(objext) \ 306 a-stwima$(objext) \ 307 a-stwise$(objext) \ 308 a-stwisu$(objext) \ 309 a-stwiun$(objext) \ 310 a-stzbou$(objext) \ 311 a-stzfix$(objext) \ 312 a-stzhas$(objext) \ 313 a-stzmap$(objext) \ 314 a-stzsea$(objext) \ 315 a-stzsup$(objext) \ 316 a-stzunb$(objext) \ 317 a-suecin$(objext) \ 318 a-suenco$(objext) \ 319 a-suenst$(objext) \ 320 a-suewst$(objext) \ 321 a-suezst$(objext) \ 322 a-suhcin$(objext) \ 323 a-sulcin$(objext) \ 324 a-suteio$(objext) \ 325 a-swbwha$(objext) \ 326 a-swfwha$(objext) \ 327 a-swmwco$(objext) \ 328 a-swunau$(objext) \ 329 a-swuwha$(objext) \ 330 a-swuwti$(objext) \ 331 a-szbzha$(objext) \ 332 a-szfzha$(objext) \ 333 a-szmzco$(objext) \ 334 a-szunau$(objext) \ 335 a-szuzha$(objext) \ 336 a-szuzti$(objext) \ 337 a-tags$(objext) \ 338 a-teioed$(objext) \ 339 a-textio$(objext) \ 340 a-tgdico$(objext) \ 341 a-tiboio$(objext) \ 342 a-ticoau$(objext) \ 343 a-ticoio$(objext) \ 344 a-tideau$(objext) \ 345 a-tideio$(objext) \ 346 a-tienau$(objext) \ 347 a-tienio$(objext) \ 348 a-tifiau$(objext) \ 349 a-tifiio$(objext) \ 350 a-tiflau$(objext) \ 351 a-tiflio$(objext) \ 352 a-tigeau$(objext) \ 353 a-tiinau$(objext) \ 354 a-tiinio$(objext) \ 355 a-timoio$(objext) \ 356 a-tiocst$(objext) \ 357 a-tirsfi$(objext) \ 358 a-titest$(objext) \ 359 a-tiunio$(objext) \ 360 a-unccon$(objext) \ 361 a-uncdea$(objext) \ 362 a-undesu$(objext) \ 363 a-wichha$(objext) \ 364 a-wichun$(objext) \ 365 a-widcha$(objext) \ 366 a-witeio$(objext) \ 367 a-wrstfi$(objext) \ 368 a-wtcoau$(objext) \ 369 a-wtcoio$(objext) \ 370 a-wtcstr$(objext) \ 371 a-wtdeau$(objext) \ 372 a-wtdeio$(objext) \ 373 a-wtedit$(objext) \ 374 a-wtenau$(objext) \ 375 a-wtenio$(objext) \ 376 a-wtfiau$(objext) \ 377 a-wtfiio$(objext) \ 378 a-wtflau$(objext) \ 379 a-wtflio$(objext) \ 380 a-wtgeau$(objext) \ 381 a-wtinau$(objext) \ 382 a-wtinio$(objext) \ 383 a-wtmoio$(objext) \ 384 a-wttest$(objext) \ 385 a-wwboio$(objext) \ 386 a-wwunio$(objext) \ 387 a-zchara$(objext) \ 388 a-zchhan$(objext) \ 389 a-zchuni$(objext) \ 390 a-zrstfi$(objext) \ 391 a-ztcoau$(objext) \ 392 a-ztcoio$(objext) \ 393 a-ztcstr$(objext) \ 394 a-ztdeau$(objext) \ 395 a-ztdeio$(objext) \ 396 a-ztedit$(objext) \ 397 a-ztenau$(objext) \ 398 a-ztenio$(objext) \ 399 a-ztexio$(objext) \ 400 a-ztfiau$(objext) \ 401 a-ztfiio$(objext) \ 402 a-ztflau$(objext) \ 403 a-ztflio$(objext) \ 404 a-ztgeau$(objext) \ 405 a-ztinau$(objext) \ 406 a-ztinio$(objext) \ 407 a-ztmoio$(objext) \ 408 a-zttest$(objext) \ 409 a-zzboio$(objext) \ 410 a-zzunio$(objext) \ 411 ada$(objext) \ 412 calendar$(objext) \ 413 directio$(objext) \ 414 g-arrspl$(objext) \ 415 g-awk$(objext) \ 416 g-binenv$(objext) \ 417 g-brapre$(objext) \ 418 g-bubsor$(objext) \ 419 g-busora$(objext) \ 420 g-busorg$(objext) \ 421 g-byorma$(objext) \ 422 g-bytswa$(objext) \ 423 g-calend$(objext) \ 424 g-casuti$(objext) \ 425 g-catiio$(objext) \ 426 g-cgi$(objext) \ 427 g-cgicoo$(objext) \ 428 g-cgideb$(objext) \ 429 g-comlin$(objext) \ 430 g-comver$(objext) \ 431 g-crc32$(objext) \ 432 g-ctrl_c$(objext) \ 433 g-curexc$(objext) \ 434 g-debpoo$(objext) \ 435 g-debuti$(objext) \ 436 g-decstr$(objext) \ 437 g-deutst$(objext) \ 438 g-diopit$(objext) \ 439 g-dirope$(objext) \ 440 g-dynhta$(objext) \ 441 g-dyntab$(objext) \ 442 g-encstr$(objext) \ 443 g-enutst$(objext) \ 444 g-excact$(objext) \ 445 g-except$(objext) \ 446 g-exctra$(objext) \ 447 g-expect$(objext) \ 448 g-exptty$(objext) \ 449 g-flocon$(objext) \ 450 g-forstr$(objext) \ 451 g-graphs$(objext) \ 452 g-heasor$(objext) \ 453 g-hesora$(objext) \ 454 g-hesorg$(objext) \ 455 g-htable$(objext) \ 456 g-io$(objext) \ 457 g-io_aux$(objext) \ 458 g-lists$(objext) \ 459 g-locfil$(objext) \ 460 g-mbdira$(objext) \ 461 g-mbflra$(objext) \ 462 g-md5$(objext) \ 463 g-memdum$(objext) \ 464 g-moreex$(objext) \ 465 g-os_lib$(objext) \ 466 g-pehage$(objext) \ 467 g-rannum$(objext) \ 468 g-regexp$(objext) \ 469 g-regpat$(objext) \ 470 g-rewdat$(objext) \ 471 g-sechas$(objext) \ 472 g-sehamd$(objext) \ 473 g-sehash$(objext) \ 474 g-sercom$(objext) \ 475 g-sestin$(objext) \ 476 g-sets$(objext) \ 477 g-sha1$(objext) \ 478 g-sha224$(objext) \ 479 g-sha256$(objext) \ 480 g-sha384$(objext) \ 481 g-sha512$(objext) \ 482 g-shsh32$(objext) \ 483 g-shsh64$(objext) \ 484 g-shshco$(objext) \ 485 g-souinf$(objext) \ 486 g-spchge$(objext) \ 487 g-speche$(objext) \ 488 g-spipat$(objext) \ 489 g-spitbo$(objext) \ 490 g-spogwa$(objext) \ 491 g-sptabo$(objext) \ 492 g-sptain$(objext) \ 493 g-sptavs$(objext) \ 494 g-strhas$(objext) \ 495 g-string$(objext) \ 496 g-strspl$(objext) \ 497 g-table$(objext) \ 498 g-tasloc$(objext) \ 499 g-timsta$(objext) \ 500 g-traceb$(objext) \ 501 g-trasym$(objext) \ 502 g-tty$(objext) \ 503 g-u3spch$(objext) \ 504 g-utf_32$(objext) \ 505 g-wispch$(objext) \ 506 g-wistsp$(objext) \ 507 g-zspche$(objext) \ 508 g-zstspl$(objext) \ 509 gnat$(objext) \ 510 i-c$(objext) \ 511 i-cexten$(objext) \ 512 i-cobol$(objext) \ 513 i-cpoint$(objext) \ 514 i-cstrea$(objext) \ 515 i-cstrin$(objext) \ 516 i-fortra$(objext) \ 517 i-pacdec$(objext) \ 518 interfac$(objext) \ 519 ioexcept$(objext) \ 520 machcode$(objext) \ 521 s-addima$(objext) \ 522 s-addope$(objext) \ 523 s-aoinar$(objext) \ 524 s-aomoar$(objext) \ 525 s-aotase$(objext) \ 526 s-aridou$(objext) \ 527 s-arit32$(objext) \ 528 s-arit64$(objext) \ 529 s-assert$(objext) \ 530 s-atacco$(objext) \ 531 s-atocou$(objext) \ 532 s-atoope$(objext) \ 533 s-atopex$(objext) \ 534 s-atopri$(objext) \ 535 s-auxdec$(objext) \ 536 s-bignum$(objext) \ 537 s-bitfie$(objext) \ 538 s-bitops$(objext) \ 539 s-bituti$(objext) \ 540 s-boarop$(objext) \ 541 s-boustr$(objext) \ 542 s-bytswa$(objext) \ 543 s-carsi8$(objext) \ 544 s-carun8$(objext) \ 545 s-casi16$(objext) \ 546 s-casi32$(objext) \ 547 s-casi64$(objext) \ 548 s-casuti$(objext) \ 549 s-caun16$(objext) \ 550 s-caun32$(objext) \ 551 s-caun64$(objext) \ 552 s-chepoo$(objext) \ 553 s-commun$(objext) \ 554 s-conca2$(objext) \ 555 s-conca3$(objext) \ 556 s-conca4$(objext) \ 557 s-conca5$(objext) \ 558 s-conca6$(objext) \ 559 s-conca7$(objext) \ 560 s-conca8$(objext) \ 561 s-conca9$(objext) \ 562 s-crc32$(objext) \ 563 s-crtl$(objext) \ 564 s-dfmkio$(objext) \ 565 s-dfmopr$(objext) \ 566 s-dgmgop$(objext) \ 567 s-diflio$(objext) \ 568 s-diflmk$(objext) \ 569 s-digemk$(objext) \ 570 s-diinio$(objext) \ 571 s-dilomk$(objext) \ 572 s-dim$(objext) \ 573 s-dimkio$(objext) \ 574 s-dimmks$(objext) \ 575 s-direio$(objext) \ 576 s-dlmkio$(objext) \ 577 s-dlmopr$(objext) \ 578 s-dmotpr$(objext) \ 579 s-dourea$(objext) \ 580 s-dsaser$(objext) \ 581 s-elaall$(objext) \ 582 s-excdeb$(objext) \ 583 s-except$(objext) \ 584 s-exctab$(objext) \ 585 s-exctra$(objext) \ 586 s-exnflt$(objext) \ 587 s-exnint$(objext) \ 588 s-exnlfl$(objext) \ 589 s-exnllf$(objext) \ 590 s-exnlli$(objext) \ 591 s-expint$(objext) \ 592 s-explli$(objext) \ 593 s-expllu$(objext) \ 594 s-expmod$(objext) \ 595 s-exponn$(objext) \ 596 s-exponr$(objext) \ 597 s-expont$(objext) \ 598 s-exponu$(objext) \ 599 s-expuns$(objext) \ 600 s-fatflt$(objext) \ 601 s-fatgen$(objext) \ 602 s-fatlfl$(objext) \ 603 s-fatllf$(objext) \ 604 s-ficobl$(objext) \ 605 s-filatt$(objext) \ 606 s-fileio$(objext) \ 607 s-finmas$(objext) \ 608 s-finroo$(objext) \ 609 s-flocon$(objext) \ 610 s-fode32$(objext) \ 611 s-fode64$(objext) \ 612 s-fofi32$(objext) \ 613 s-fofi64$(objext) \ 614 s-fore_d$(objext) \ 615 s-fore_f$(objext) \ 616 s-forrea$(objext) \ 617 s-gearop$(objext) \ 618 s-genbig$(objext) \ 619 s-geveop$(objext) \ 620 s-gloloc$(objext) \ 621 s-htable$(objext) \ 622 s-imageb$(objext) \ 623 s-imaged$(objext) \ 624 s-imagef$(objext) \ 625 s-imagei$(objext) \ 626 s-imagen$(objext) \ 627 s-imager$(objext) \ 628 s-imageu$(objext) \ 629 s-imagew$(objext) \ 630 s-imde32$(objext) \ 631 s-imde64$(objext) \ 632 s-imen16$(objext) \ 633 s-imen32$(objext) \ 634 s-imenu8$(objext) \ 635 s-imfi32$(objext) \ 636 s-imfi64$(objext) \ 637 s-imgbiu$(objext) \ 638 s-imgboo$(objext) \ 639 s-imgcha$(objext) \ 640 s-imgflt$(objext) \ 641 s-imgint$(objext) \ 642 s-imglfl$(objext) \ 643 s-imgllb$(objext) \ 644 s-imgllf$(objext) \ 645 s-imglli$(objext) \ 646 s-imgllu$(objext) \ 647 s-imgllw$(objext) \ 648 s-imgrea$(objext) \ 649 s-imguns$(objext) \ 650 s-imguti$(objext) \ 651 s-imgwch$(objext) \ 652 s-imgwiu$(objext) \ 653 s-io$(objext) \ 654 s-llflex$(objext) \ 655 s-maccod$(objext) \ 656 s-mantis$(objext) \ 657 s-mastop$(objext) \ 658 s-memcop$(objext) \ 659 s-memory$(objext) \ 660 s-multip$(objext) \ 661 s-os_lib$(objext) \ 662 s-oscons$(objext) \ 663 s-osprim$(objext) \ 664 s-pack03$(objext) \ 665 s-pack05$(objext) \ 666 s-pack06$(objext) \ 667 s-pack07$(objext) \ 668 s-pack09$(objext) \ 669 s-pack10$(objext) \ 670 s-pack11$(objext) \ 671 s-pack12$(objext) \ 672 s-pack13$(objext) \ 673 s-pack14$(objext) \ 674 s-pack15$(objext) \ 675 s-pack17$(objext) \ 676 s-pack18$(objext) \ 677 s-pack19$(objext) \ 678 s-pack20$(objext) \ 679 s-pack21$(objext) \ 680 s-pack22$(objext) \ 681 s-pack23$(objext) \ 682 s-pack24$(objext) \ 683 s-pack25$(objext) \ 684 s-pack26$(objext) \ 685 s-pack27$(objext) \ 686 s-pack28$(objext) \ 687 s-pack29$(objext) \ 688 s-pack30$(objext) \ 689 s-pack31$(objext) \ 690 s-pack33$(objext) \ 691 s-pack34$(objext) \ 692 s-pack35$(objext) \ 693 s-pack36$(objext) \ 694 s-pack37$(objext) \ 695 s-pack38$(objext) \ 696 s-pack39$(objext) \ 697 s-pack40$(objext) \ 698 s-pack41$(objext) \ 699 s-pack42$(objext) \ 700 s-pack43$(objext) \ 701 s-pack44$(objext) \ 702 s-pack45$(objext) \ 703 s-pack46$(objext) \ 704 s-pack47$(objext) \ 705 s-pack48$(objext) \ 706 s-pack49$(objext) \ 707 s-pack50$(objext) \ 708 s-pack51$(objext) \ 709 s-pack52$(objext) \ 710 s-pack53$(objext) \ 711 s-pack54$(objext) \ 712 s-pack55$(objext) \ 713 s-pack56$(objext) \ 714 s-pack57$(objext) \ 715 s-pack58$(objext) \ 716 s-pack59$(objext) \ 717 s-pack60$(objext) \ 718 s-pack61$(objext) \ 719 s-pack62$(objext) \ 720 s-pack63$(objext) \ 721 s-parame$(objext) \ 722 s-parint$(objext) \ 723 s-pehage$(objext) \ 724 s-pooglo$(objext) \ 725 s-pooloc$(objext) \ 726 s-poosiz$(objext) \ 727 s-powflt$(objext) \ 728 s-powlfl$(objext) \ 729 s-powllf$(objext) \ 730 s-purexc$(objext) \ 731 s-putima$(objext) \ 732 s-rannum$(objext) \ 733 s-ransee$(objext) \ 734 s-regexp$(objext) \ 735 s-regpat$(objext) \ 736 s-resfil$(objext) \ 737 s-restri$(objext) \ 738 s-rident$(objext) \ 739 s-rpc$(objext) \ 740 s-scaval$(objext) \ 741 s-secsta$(objext) \ 742 s-sequio$(objext) \ 743 s-shabig$(objext) \ 744 s-shasto$(objext) \ 745 s-soflin$(objext) \ 746 s-soliin$(objext) \ 747 s-spsufi$(objext) \ 748 s-stache$(objext) \ 749 s-stalib$(objext) \ 750 s-statxd$(objext) \ 751 s-stausa$(objext) \ 752 s-stoele$(objext) \ 753 s-stopoo$(objext) \ 754 s-stposu$(objext) \ 755 s-stratt$(objext) \ 756 s-strhas$(objext) \ 757 s-string$(objext) \ 758 s-ststop$(objext) \ 759 s-tasloc$(objext) \ 760 s-traceb$(objext) \ 761 s-traent$(objext) \ 762 s-trasym$(objext) \ 763 s-unstyp$(objext) \ 764 s-utf_32$(objext) \ 765 s-vade32$(objext) \ 766 s-vade64$(objext) \ 767 s-vaen16$(objext) \ 768 s-vaen32$(objext) \ 769 s-vaenu8$(objext) \ 770 s-vafi32$(objext) \ 771 s-vafi64$(objext) \ 772 s-valboo$(objext) \ 773 s-valcha$(objext) \ 774 s-valflt$(objext) \ 775 s-valint$(objext) \ 776 s-vallfl$(objext) \ 777 s-valllf$(objext) \ 778 s-vallli$(objext) \ 779 s-valllu$(objext) \ 780 s-valrea$(objext) \ 781 s-valued$(objext) \ 782 s-valuef$(objext) \ 783 s-valuei$(objext) \ 784 s-valuen$(objext) \ 785 s-valuer$(objext) \ 786 s-valueu$(objext) \ 787 s-valuns$(objext) \ 788 s-valuti$(objext) \ 789 s-valwch$(objext) \ 790 s-veboop$(objext) \ 791 s-vector$(objext) \ 792 s-vercon$(objext) \ 793 s-wchcnv$(objext) \ 794 s-wchcon$(objext) \ 795 s-wchjis$(objext) \ 796 s-wchstw$(objext) \ 797 s-wchwts$(objext) \ 798 s-widboo$(objext) \ 799 s-widcha$(objext) \ 800 s-widenu$(objext) \ 801 s-widint$(objext) \ 802 s-widlli$(objext) \ 803 s-widllu$(objext) \ 804 s-widthi$(objext) \ 805 s-widthu$(objext) \ 806 s-widuns$(objext) \ 807 s-widwch$(objext) \ 808 s-wwdcha$(objext) \ 809 s-wwdenu$(objext) \ 810 s-wwdwch$(objext) \ 811 sequenio$(objext) \ 812 system$(objext) \ 813 text_io$(objext) \ 814 unchconv$(objext) \ 815 unchdeal$(objext) \ 816 $(GNATRTL_ALTIVEC_OBJS) \ 817 $(GNATRTL_SOCKETS_OBJS) \ 818 $(EXTRA_GNATRTL_NONTASKING_OBJS) 819 820# LIBGNAT_TARGET_PAIRS is a list of pairs of filenames. 821# The members of each pair must be separated by a '<' and no whitespace. 822# Each pair must be separated by some amount of whitespace from the following 823# pair. 824 825# Non-tasking case: 826 827LIBGNAT_TARGET_PAIRS = \ 828a-intnam.ads<libgnarl/a-intnam__dummy.ads \ 829s-inmaop.adb<libgnarl/s-inmaop__dummy.adb \ 830s-intman.adb<libgnarl/s-intman__dummy.adb \ 831s-osinte.ads<libgnarl/s-osinte__dummy.ads \ 832s-osprim.adb<libgnat/s-osprim__posix.adb \ 833s-taprop.adb<libgnarl/s-taprop__dummy.adb \ 834s-taspri.ads<libgnarl/s-taspri__dummy.ads 835 836# When using the GCC exception handling mechanism, we need to use an 837# alternate body for a-exexpr.adb (a-exexpr-gcc.adb) 838 839EH_MECHANISM= 840 841# Compilation options for the GCC-SJLJ RTS. This may be augmented for 842# target specific contexts, e.g. to add -fno-omit-frame-pointer for backtrace 843# computations. 844GNATLIBCFLAGS_FOR_GCCSJLJ=-fsjlj 845 846# Default shared object option. Note that we rely on the fact that the "soname" 847# option will always be present and last in this flag, so that we can have 848# $(SO_OPTS)libgnat-x.xx 849 850SO_OPTS = -Wl,-soname, 851 852# Default gnatlib-shared target. 853# By default, equivalent to gnatlib. 854# Set to gnatlib-shared-default, gnatlib-shared-dual, or a platform specific 855# target when supported. 856GNATLIB_SHARED = gnatlib 857 858# By default, build socket support units. On platforms that do not support 859# sockets, reset this variable to empty and add DUMMY_SOCKETS_TARGET_PAIRS 860# to LIBGNAT_TARGET_PAIRS. 861 862GNATRTL_SOCKETS_OBJS = g-soccon$(objext) g-socket$(objext) g-socthi$(objext) \ 863 g-soliop$(objext) g-sothco$(objext) g-socpol$(objext) 864 865DUMMY_SOCKETS_TARGET_PAIRS = \ 866 g-socket.adb<libgnat/g-socket__dummy.adb \ 867 g-socket.ads<libgnat/g-socket__dummy.ads \ 868 g-socthi.adb<libgnat/g-socthi__dummy.adb \ 869 g-socthi.ads<libgnat/g-socthi__dummy.ads \ 870 g-sothco.adb<libgnat/g-sothco__dummy.adb \ 871 g-sothco.ads<libgnat/g-sothco__dummy.ads \ 872 g-socpol.adb<libgnat/g-socpol__dummy.adb \ 873 g-socpol.ads<libgnat/g-socpol__dummy.ads 874 875# On platforms where atomic increment/decrement operations are supported, 876# special version of Ada.Strings.Unbounded package can be used. 877 878ATOMICS_TARGET_PAIRS = \ 879 a-coinho.adb<libgnat/a-coinho__shared.adb \ 880 a-coinho.ads<libgnat/a-coinho__shared.ads \ 881 a-stunau.adb<libgnat/a-stunau__shared.adb \ 882 a-suteio.adb<libgnat/a-suteio__shared.adb \ 883 a-strunb.ads<libgnat/a-strunb__shared.ads \ 884 a-strunb.adb<libgnat/a-strunb__shared.adb \ 885 a-stwiun.adb<libgnat/a-stwiun__shared.adb \ 886 a-stwiun.ads<libgnat/a-stwiun__shared.ads \ 887 a-swunau.adb<libgnat/a-swunau__shared.adb \ 888 a-swuwti.adb<libgnat/a-swuwti__shared.adb \ 889 a-stzunb.adb<libgnat/a-stzunb__shared.adb \ 890 a-stzunb.ads<libgnat/a-stzunb__shared.ads \ 891 a-szunau.adb<libgnat/a-szunau__shared.adb \ 892 a-szuzti.adb<libgnat/a-szuzti__shared.adb 893 894ATOMICS_BUILTINS_TARGET_PAIRS = \ 895 s-atocou.adb<libgnat/s-atocou__builtin.adb 896 897# Special version of units for x86 and x86-64 platforms. 898 899X86_TARGET_PAIRS = \ 900 a-nuauco.ads<libgnat/a-nuauco__x86.ads \ 901 s-atocou.adb<libgnat/s-atocou__x86.adb 902 903X86_64_TARGET_PAIRS = \ 904 a-nuauco.ads<libgnat/a-nuauco__x86.ads \ 905 s-atocou.adb<libgnat/s-atocou__builtin.adb 906 907# Implementation of symbolic traceback based on dwarf 908TRASYM_DWARF_UNIX_PAIRS = \ 909 s-trasym.adb<libgnat/s-trasym__dwarf.adb \ 910 s-mmosin.ads<libgnat/s-mmosin__unix.ads \ 911 s-mmosin.adb<libgnat/s-mmosin__unix.adb \ 912 s-mmauni.ads<libgnat/s-mmauni__long.ads 913 914TRASYM_DWARF_MINGW_PAIRS = \ 915 s-trasym.adb<libgnat/s-trasym__dwarf.adb \ 916 s-mmosin.ads<libgnat/s-mmosin__mingw.ads \ 917 s-mmosin.adb<libgnat/s-mmosin__mingw.adb 918 919TRASYM_DWARF_COMMON_OBJS = s-objrea$(objext) s-dwalin$(objext) s-mmap$(objext) \ 920 s-mmosin$(objext) 921 922TRASYM_DWARF_UNIX_OBJS = $(TRASYM_DWARF_COMMON_OBJS) s-mmauni$(objext) 923 924TRASYM_DWARF_MINGW_OBJS = $(TRASYM_DWARF_COMMON_OBJS) 925 926GNATRTL_128BIT_PAIRS = \ 927 a-decima.ads<libgnat/a-decima__128.ads \ 928 a-tideio.adb<libgnat/a-tideio__128.adb \ 929 a-tifiio.adb<libgnat/a-tifiio__128.adb \ 930 a-tiinio.adb<libgnat/a-tiinio__128.adb \ 931 a-timoio.adb<libgnat/a-timoio__128.adb \ 932 a-wtdeio.adb<libgnat/a-wtdeio__128.adb \ 933 a-wtfiio.adb<libgnat/a-wtfiio__128.adb \ 934 a-wtinio.adb<libgnat/a-wtinio__128.adb \ 935 a-wtmoio.adb<libgnat/a-wtmoio__128.adb \ 936 a-ztdeio.adb<libgnat/a-ztdeio__128.adb \ 937 a-ztfiio.adb<libgnat/a-ztfiio__128.adb \ 938 a-ztinio.adb<libgnat/a-ztinio__128.adb \ 939 a-ztmoio.adb<libgnat/a-ztmoio__128.adb \ 940 i-cexten.ads<libgnat/i-cexten__128.ads \ 941 s-scaval.ads<libgnat/s-scaval__128.ads \ 942 s-scaval.adb<libgnat/s-scaval__128.adb 943 944# Objects needed for 128-bit types 945GNATRTL_128BIT_OBJS = \ 946 s-arit128$(objext) \ 947 s-casi128$(objext) \ 948 s-caun128$(objext) \ 949 s-exnllli$(objext) \ 950 s-expllli$(objext) \ 951 s-explllu$(objext) \ 952 s-fode128$(objext) \ 953 s-fofi128$(objext) \ 954 s-imde128$(objext) \ 955 s-imfi128$(objext) \ 956 s-imglllb$(objext) \ 957 s-imgllli$(objext) \ 958 s-imglllu$(objext) \ 959 s-imglllw$(objext) \ 960 s-pack65$(objext) \ 961 s-pack66$(objext) \ 962 s-pack67$(objext) \ 963 s-pack68$(objext) \ 964 s-pack69$(objext) \ 965 s-pack70$(objext) \ 966 s-pack71$(objext) \ 967 s-pack72$(objext) \ 968 s-pack73$(objext) \ 969 s-pack74$(objext) \ 970 s-pack75$(objext) \ 971 s-pack76$(objext) \ 972 s-pack77$(objext) \ 973 s-pack78$(objext) \ 974 s-pack79$(objext) \ 975 s-pack80$(objext) \ 976 s-pack81$(objext) \ 977 s-pack82$(objext) \ 978 s-pack83$(objext) \ 979 s-pack84$(objext) \ 980 s-pack85$(objext) \ 981 s-pack86$(objext) \ 982 s-pack87$(objext) \ 983 s-pack88$(objext) \ 984 s-pack89$(objext) \ 985 s-pack90$(objext) \ 986 s-pack91$(objext) \ 987 s-pack92$(objext) \ 988 s-pack93$(objext) \ 989 s-pack94$(objext) \ 990 s-pack95$(objext) \ 991 s-pack96$(objext) \ 992 s-pack97$(objext) \ 993 s-pack98$(objext) \ 994 s-pack99$(objext) \ 995 s-pack100$(objext) \ 996 s-pack101$(objext) \ 997 s-pack102$(objext) \ 998 s-pack103$(objext) \ 999 s-pack104$(objext) \ 1000 s-pack105$(objext) \ 1001 s-pack106$(objext) \ 1002 s-pack107$(objext) \ 1003 s-pack108$(objext) \ 1004 s-pack109$(objext) \ 1005 s-pack110$(objext) \ 1006 s-pack111$(objext) \ 1007 s-pack112$(objext) \ 1008 s-pack113$(objext) \ 1009 s-pack114$(objext) \ 1010 s-pack115$(objext) \ 1011 s-pack116$(objext) \ 1012 s-pack117$(objext) \ 1013 s-pack118$(objext) \ 1014 s-pack119$(objext) \ 1015 s-pack120$(objext) \ 1016 s-pack121$(objext) \ 1017 s-pack122$(objext) \ 1018 s-pack123$(objext) \ 1019 s-pack124$(objext) \ 1020 s-pack125$(objext) \ 1021 s-pack126$(objext) \ 1022 s-pack127$(objext) \ 1023 s-vade128$(objext) \ 1024 s-vafi128$(objext) \ 1025 s-valllli$(objext) \ 1026 s-vallllu$(objext) \ 1027 s-widllli$(objext) \ 1028 s-widlllu$(objext) 1029 1030# Shared library version 1031LIB_VERSION = $(strip $(shell grep ' Library_Version :' $(GNAT_SRC)/gnatvsn.ads | sed -e 's/.*"\(.*\)".*/\1/')) 1032 1033# Additional object files from C source to be added to libgnat. 1034EXTRA_LIBGNAT_OBJS= 1035 1036# Additional C source files to be added to libgnat without corresponding 1037# object file (#included files). This should include at least the GNAT 1038# specific header files required to rebuild the runtime library from sources. 1039EXTRA_LIBGNAT_SRCS= 1040 1041# Additional object files from Ada sources to be added in libgnat 1042EXTRA_GNATRTL_NONTASKING_OBJS= 1043 1044# Additional object files from Ada sources to be added in libgnarl 1045EXTRA_GNATRTL_TASKING_OBJS= 1046 1047# Subsets of extra libgnat sources that always go together 1048VX_SIGTRAMP_EXTRA_SRCS=sigtramp.h sigtramp-vxworks-target.h 1049 1050# Additional object files that should go in the same directory as libgnat, 1051# aside the library itself. Typically useful for crtbegin/crtend kind of files. 1052EXTRA_ADALIB_OBJS= 1053 1054# GCC spec files to be installed in $(libsubdir), so --specs=<spec-filename> 1055# finds them at runtime. 1056GCC_SPEC_FILES= 1057 1058# $(filter-out PATTERN...,TEXT) removes all PATTERN words from TEXT. 1059# $(strip STRING) removes leading and trailing spaces from STRING. 1060# If what's left is null then it's a match. 1061 1062# PowerPC and e500v2 VxWorks 1063ifeq ($(strip $(filter-out powerpc% wrs vxworks vxworksspe vxworks7% vxworks7spe,$(target_cpu) $(target_vendor) $(target_os))),) 1064 1065 ifeq ($(strip $(filter-out e500%, $(target_alias))),) 1066 ARCH_STR=e500 1067 # gcc config translates the target e500v2-wrs-vxworks to 1068 # powerpc-wrs-vxworksspe. Let's keep the original alias here when 1069 # generating s-oscons.ads. 1070 target=$(target_alias) 1071 else 1072 ifeq ($(strip $(filter-out powerpc64, $(target_cpu))),) 1073 ARCH_STR=ppc64 1074 else 1075 ARCH_STR=ppc 1076 endif 1077 endif 1078 1079 VX=$(strip $(if $(filter vxworks7%, $(target_os)), vxworks7, vxworks)) 1080 SVX=system-$(VX) 1081 1082 LIBGNAT_TARGET_PAIRS = \ 1083 a-intnam.ads<libgnarl/a-intnam__vxworks.ads \ 1084 a-naliop.ads<libgnat/a-naliop__nolibm.ads \ 1085 a-nuaufl.ads<libgnat/a-nuaufl__wraplf.ads \ 1086 a-nashfl.ads<libgnat/a-nashfl__wraplf.ads \ 1087 s-dorepr.adb<libgnat/s-dorepr__fma.adb \ 1088 s-inmaop.adb<libgnarl/s-inmaop__hwint.adb \ 1089 s-intman.ads<libgnarl/s-intman__vxworks.ads \ 1090 s-intman.adb<libgnarl/s-intman__vxworks.adb \ 1091 s-osinte.ads<libgnarl/s-osinte__vxworks.ads \ 1092 s-osinte.adb<libgnarl/s-osinte__vxworks.adb \ 1093 s-osprim.adb<libgnat/s-osprim__posix.adb \ 1094 s-parame.ads<libgnat/s-parame__vxworks.ads \ 1095 s-parame.adb<libgnat/s-parame__vxworks.adb \ 1096 s-taprop.adb<libgnarl/s-taprop__vxworks.adb \ 1097 s-tasinf.ads<libgnarl/s-tasinf__vxworks.ads \ 1098 s-taspri.ads<libgnarl/s-taspri__vxworks.ads \ 1099 s-vxwork.ads<libgnarl/s-vxwork__ppc.ads \ 1100 g-socthi.ads<libgnat/g-socthi__vxworks.ads \ 1101 g-socthi.adb<libgnat/g-socthi__vxworks.adb \ 1102 g-sopowa.adb<libgnat/g-sopowa__posix.adb \ 1103 g-stsifd.adb<libgnat/g-stsifd__sockets.adb \ 1104 $(ATOMICS_TARGET_PAIRS) \ 1105 $(ATOMICS_BUILTINS_TARGET_PAIRS) 1106 1107 # VxWorks 5 and 6 both use the same target triplet making them 1108 # indistinguishable in the context of this make file. Package 1109 # System.Stack_Checking.Operations is not needed on VxWorks 6 as it leads to 1110 # an undefined symbol when building a dynamic shared library. To alleviate 1111 # this problem and distinguish this case, we use the THREAD_KIND and include 1112 # the package only in default mode. 1113 1114 ifeq ($(strip $(filter-out default,$(THREAD_KIND))),) 1115 LIBGNAT_TARGET_PAIRS += \ 1116 s-stchop.ads<libgnat/s-stchop__limit.ads \ 1117 s-stchop.adb<libgnat/s-stchop__vxworks.adb 1118 EXTRA_GNATRTL_NONTASKING_OBJS+=s-stchop.o 1119 endif 1120 1121 ifeq ($(strip $(filter-out powerpc64, $(target_cpu))),) 1122 LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) 1123 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 1124 endif 1125 1126 TOOLS_TARGET_PAIRS=indepsw.adb<indepsw-gnu.adb 1127 1128 ifeq ($(strip $(filter-out rtp,$(THREAD_KIND))),) 1129 LIBGNAT_TARGET_PAIRS += \ 1130 s-vxwext.ads<libgnarl/s-vxwext__rtp.ads \ 1131 s-vxwext.adb<libgnarl/s-vxwext__rtp.adb \ 1132 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-rtp.adb \ 1133 system.ads<libgnat/$(SVX)-$(ARCH_STR)-rtp.ads 1134 1135 EH_MECHANISM=-gcc 1136 else 1137 ifeq ($(strip $(filter-out rtp-smp,$(THREAD_KIND))),) 1138 LIBGNAT_TARGET_PAIRS += \ 1139 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ 1140 s-vxwext.ads<libgnarl/s-vxwext__rtp.ads \ 1141 s-vxwext.adb<libgnarl/s-vxwext__rtp-smp.adb \ 1142 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-tls.adb \ 1143 system.ads<libgnat/$(SVX)-$(ARCH_STR)-rtp-smp.ads 1144 1145 EH_MECHANISM=-gcc 1146 EXTRA_LIBGNAT_OBJS+=affinity.o 1147 else 1148 ifeq ($(strip $(filter-out kernel-smp,$(THREAD_KIND))),) 1149 LIBGNAT_TARGET_PAIRS += \ 1150 s-interr.adb<libgnarl/s-interr__vxworks.adb \ 1151 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ 1152 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-tls.adb \ 1153 s-vxwext.ads<libgnarl/s-vxwext__kernel.ads \ 1154 s-vxwext.adb<libgnarl/s-vxwext__kernel-smp.adb \ 1155 system.ads<libgnat/$(SVX)-$(ARCH_STR)-kernel.ads 1156 1157 EH_MECHANISM=-gcc 1158 EXTRA_LIBGNAT_OBJS+=affinity.o 1159 else 1160 LIBGNAT_TARGET_PAIRS += \ 1161 s-interr.adb<libgnarl/s-interr__vxworks.adb \ 1162 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks.adb 1163 1164 ifeq ($(strip $(filter-out kernel,$(THREAD_KIND))),) 1165 EH_MECHANISM=-gcc 1166 LIBGNAT_TARGET_PAIRS += \ 1167 s-vxwext.ads<libgnarl/s-vxwext__kernel.ads \ 1168 s-vxwext.adb<libgnarl/s-vxwext__kernel.adb \ 1169 system.ads<libgnat/$(SVX)-$(ARCH_STR)-kernel.ads 1170 endif 1171 endif 1172 EXTRA_GNATRTL_NONTASKING_OBJS+=i-vxinco.o i-vxwork.o i-vxwoio.o 1173 endif 1174 endif 1175 1176 EXTRA_LIBGNAT_OBJS+=sigtramp-vxworks.o 1177 EXTRA_LIBGNAT_SRCS+=$(VX_SIGTRAMP_EXTRA_SRCS) 1178 1179 EXTRA_GNATRTL_TASKING_OBJS += s-vxwork.o s-vxwext.o 1180 1181 EXTRA_LIBGNAT_OBJS+=vx_stack_info.o 1182 1183 ifeq ($(strip $(filter-out vxworks7%, $(target_os))),) 1184 ifeq ($(strip $(filter-out powerpc64, $(target_cpu))),) 1185 GCC_SPEC_FILES+=vxworks7-ppc64-rtp-base-link.spec 1186 else 1187 GCC_SPEC_FILES+=vxworks7-rtp-base-link.spec 1188 endif 1189 GCC_SPEC_FILES+=vxworks7-cert-rtp-link__ppcXX.spec 1190 else 1191 GCC_SPEC_FILES+=vxworks-$(ARCH_STR)-link.spec 1192 GCC_SPEC_FILES+=vxworks-cert-$(ARCH_STR)-link.spec 1193 GCC_SPEC_FILES+=vxworks-smp-$(ARCH_STR)-link.spec 1194 endif 1195endif 1196 1197# x86/x86_64 VxWorks 1198ifeq ($(strip $(filter-out %86 x86_64 wrs vxworks vxworks7%,$(target_cpu) $(target_vendor) $(target_os))),) 1199 1200 LIBGNAT_TARGET_PAIRS= \ 1201 a-intnam.ads<libgnarl/a-intnam__vxworks.ads \ 1202 i-vxwork.ads<libgnat/i-vxwork__x86.ads \ 1203 a-naliop.ads<libgnat/a-naliop__nolibm.ads \ 1204 a-nuaufl.ads<libgnat/a-nuaufl__wraplf.ads \ 1205 a-nashfl.ads<libgnat/a-nashfl__wraplf.ads \ 1206 s-osinte.adb<libgnarl/s-osinte__vxworks.adb \ 1207 s-osinte.ads<libgnarl/s-osinte__vxworks.ads \ 1208 s-inmaop.adb<libgnarl/s-inmaop__hwint.adb \ 1209 s-intman.ads<libgnarl/s-intman__vxworks.ads \ 1210 s-intman.adb<libgnarl/s-intman__vxworks.adb \ 1211 s-osprim.adb<libgnat/s-osprim__posix.adb \ 1212 s-parame.ads<libgnat/s-parame__vxworks.ads \ 1213 s-parame.adb<libgnat/s-parame__vxworks.adb \ 1214 s-stchop.ads<libgnat/s-stchop__limit.ads \ 1215 s-stchop.adb<libgnat/s-stchop__vxworks.adb \ 1216 s-taprop.adb<libgnarl/s-taprop__vxworks.adb \ 1217 s-tasinf.ads<libgnarl/s-tasinf__vxworks.ads \ 1218 s-taspri.ads<libgnarl/s-taspri__vxworks.ads \ 1219 s-vxwork.ads<libgnarl/s-vxwork__x86.ads \ 1220 g-socthi.ads<libgnat/g-socthi__vxworks.ads \ 1221 g-socthi.adb<libgnat/g-socthi__vxworks.adb \ 1222 g-sopowa.adb<libgnat/g-sopowa__posix.adb \ 1223 g-stsifd.adb<libgnat/g-stsifd__sockets.adb \ 1224 $(ATOMICS_TARGET_PAIRS) 1225 1226 VX=$(strip $(if $(filter vxworks7%, $(target_os)), vxworks7, vxworks)) 1227 SVX=system-$(VX) 1228 1229 ifeq ($(strip $(filter-out x86_64, $(target_cpu))),) 1230 X86CPU=x86_64 1231 LIBGNAT_TARGET_PAIRS += $(X86_64_TARGET_PAIRS) 1232 LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) 1233 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 1234 else 1235 X86CPU=x86 1236 LIBGNAT_TARGET_PAIRS += $(X86_TARGET_PAIRS) 1237 endif 1238 1239 TOOLS_TARGET_PAIRS=indepsw.adb<indepsw-gnu.adb 1240 1241 EH_MECHANISM=-gcc 1242 1243 # The CPU setting for VxSim varies with the 1244 # host (Windows or Linux) 1245 # target (VxWorks6 or VxWorks7) 1246 # runtime (rtp or kernel) 1247 # ------------------------------------------------------------- 1248 # vx6 vx7 1249 # Windows (host_os = mingw32) 1250 # kernel SIMNT SIMNT 1251 # rtp SIMPENTIUM SIMNT 1252 # Linux (host_os = linux-gnu) 1253 # kernel SIMLINUX SIMLINUX 1254 # rtp SIMPENTIUM SIMLINUX 1255 # ------------------------------------------------------------- 1256 # It is overridden by VXSIM_CPU only in files init-vxsim.c and 1257 # sigtramp-vxworks-vxsim.c which contain functions determined at 1258 # runtime to be called if a program is running on VxSim vs real hardware 1259 # (due to differences in signal context for unwinding). 1260 1261 ifneq ($(strip $(filter-out vxworks7, $(target_os))),) 1262 ifeq ($(strip $(filter-out vxworks rtp rtp-smp,$(target_os) $(THREAD_KIND))),) 1263 VXSIM_CPU = SIMPENTIUM 1264 else 1265 ifeq ($(strip $(filter-out kernel kernel-smp rtp rtp-smp,$(THREAD_KIND))),) 1266 ifeq ($(strip $(filter-out linux%,$(host_os))),) 1267 # Linux 1268 VXSIM_CPU = SIMLINUX 1269 else 1270 # Windows 1271 VXSIM_CPU = SIMNT 1272 endif 1273 endif 1274 endif 1275 1276 GNATLIBCFLAGS_FOR_C := $(GNATLIBCFLAGS_FOR_C) -D__VXSIM_CPU__=$(VXSIM_CPU) 1277 endif 1278 1279 ifeq ($(strip $(filter-out rtp,$(THREAD_KIND))),) 1280 LIBGNAT_TARGET_PAIRS += \ 1281 s-vxwext.ads<libgnarl/s-vxwext__rtp.ads \ 1282 s-vxwext.adb<libgnarl/s-vxwext__rtp.adb \ 1283 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-rtp.adb \ 1284 system.ads<libgnat/$(SVX)-x86-rtp.ads 1285 else 1286 ifeq ($(strip $(filter-out rtp-smp, $(THREAD_KIND))),) 1287 LIBGNAT_TARGET_PAIRS += \ 1288 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ 1289 s-vxwext.ads<libgnarl/s-vxwext__rtp.ads \ 1290 s-vxwext.adb<libgnarl/s-vxwext__rtp-smp.adb \ 1291 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-tls.adb \ 1292 system.ads<libgnat/$(SVX)-$(X86CPU)-rtp-smp.ads 1293 1294 EXTRA_LIBGNAT_OBJS+=affinity.o 1295 else 1296 ifeq ($(strip $(filter-out kernel-smp, $(THREAD_KIND))),) 1297 LIBGNAT_TARGET_PAIRS += \ 1298 s-interr.adb<libgnarl/s-interr__vxworks.adb \ 1299 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ 1300 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-tls.adb \ 1301 s-vxwext.ads<libgnarl/s-vxwext__kernel.ads \ 1302 s-vxwext.adb<libgnarl/s-vxwext__kernel-smp.adb \ 1303 system.ads<libgnat/$(SVX)-$(X86CPU)-kernel.ads 1304 1305 EXTRA_LIBGNAT_OBJS+=affinity.o 1306 else 1307 LIBGNAT_TARGET_PAIRS += \ 1308 s-interr.adb<libgnarl/s-interr__vxworks.adb \ 1309 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks.adb 1310 1311 ifeq ($(strip $(filter-out kernel,$(THREAD_KIND))),) 1312 LIBGNAT_TARGET_PAIRS += \ 1313 s-vxwext.ads<libgnarl/s-vxwext__kernel.ads \ 1314 s-vxwext.adb<libgnarl/s-vxwext__kernel.adb \ 1315 system.ads<libgnat/$(SVX)-x86-kernel.ads 1316 endif 1317 endif 1318 1319 EXTRA_GNATRTL_NONTASKING_OBJS += i-vxinco.o i-vxwork.o i-vxwoio.o 1320 endif 1321 endif 1322 1323 EXTRA_GNATRTL_NONTASKING_OBJS += s-stchop.o 1324 EXTRA_GNATRTL_TASKING_OBJS += s-vxwork.o s-vxwext.o 1325 1326 EXTRA_LIBGNAT_OBJS+=vx_stack_info.o 1327 1328 EXTRA_LIBGNAT_OBJS+=sigtramp-vxworks.o 1329 EXTRA_LIBGNAT_SRCS+=$(VX_SIGTRAMP_EXTRA_SRCS) 1330 1331 ifeq ($(strip $(filter-out vxworks7%, $(target_os))),) 1332 GCC_SPEC_FILES+=vxworks7-$(X86CPU)-rtp-base-link.spec 1333 GCC_SPEC_FILES+=vxworks7-cert-rtp-link.spec 1334 else 1335 GCC_SPEC_FILES+=vxworks-x86-link.spec 1336 GCC_SPEC_FILES+=vxworks-cert-x86-link.spec 1337 GCC_SPEC_FILES+=vxworks-smp-x86-link.spec 1338 endif 1339endif 1340 1341# ARM and Aarch64 VxWorks 1342ifeq ($(strip $(filter-out aarch64 arm% coff wrs vx%,$(target_cpu) $(target_vendor) $(target_os))),) 1343 1344 LIBGNAT_TARGET_PAIRS = \ 1345 a-intnam.ads<libgnarl/a-intnam__vxworks.ads \ 1346 a-naliop.ads<libgnat/a-naliop__nolibm.ads \ 1347 a-nuaufl.ads<libgnat/a-nuaufl__wraplf.ads \ 1348 a-nashfl.ads<libgnat/a-nashfl__wraplf.ads \ 1349 s-inmaop.adb<libgnarl/s-inmaop__hwint.adb \ 1350 s-interr.adb<libgnarl/s-interr__vxworks.adb \ 1351 s-intman.ads<libgnarl/s-intman__vxworks.ads \ 1352 s-intman.adb<libgnarl/s-intman__vxworks.adb \ 1353 s-osinte.adb<libgnarl/s-osinte__vxworks.adb \ 1354 s-osinte.ads<libgnarl/s-osinte__vxworks.ads \ 1355 s-osprim.adb<libgnat/s-osprim__posix.adb \ 1356 s-parame.ads<libgnat/s-parame__vxworks.ads \ 1357 s-parame.adb<libgnat/s-parame__vxworks.adb \ 1358 s-stchop.ads<libgnat/s-stchop__limit.ads \ 1359 s-stchop.adb<libgnat/s-stchop__vxworks.adb \ 1360 s-taprop.adb<libgnarl/s-taprop__vxworks.adb \ 1361 s-tasinf.ads<libgnarl/s-tasinf__vxworks.ads \ 1362 s-taspri.ads<libgnarl/s-taspri__vxworks.ads \ 1363 g-socthi.ads<libgnat/g-socthi__vxworks.ads \ 1364 g-socthi.adb<libgnat/g-socthi__vxworks.adb \ 1365 g-sopowa.adb<libgnat/g-sopowa__posix.adb \ 1366 g-stsifd.adb<libgnat/g-stsifd__sockets.adb \ 1367 $(ATOMICS_TARGET_PAIRS) \ 1368 $(ATOMICS_BUILTINS_TARGET_PAIRS) 1369 1370 ifeq ($(strip $(filter-out aarch64, $(target_cpu))),) 1371 ARCH_STR=aarch64 1372 VX=vxworks7 1373 EH_MECHANISM=-gcc 1374 SIGTRAMP_OBJ=sigtramp-vxworks.o 1375 LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) \ 1376 a-nallfl.ads<libgnat/a-nallfl__wraplf.ads \ 1377 s-dorepr.adb<libgnat/s-dorepr__fma.adb 1378 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 1379 else 1380 ifeq ($(strip $(filter-out arm%, $(target_cpu))),) 1381 ARCH_STR=arm 1382 ifeq ($(strip $(filter-out vxworks7%, $(target_os))),) 1383 VX=vxworks7 1384 EH_MECHANISM=-arm 1385 SIGTRAMP_OBJ=sigtramp-armvxworks.o 1386 else 1387 VX=vxworks 1388 EH_MECHANISM=-gcc 1389 SIGTRAMP_OBJ=sigtramp-vxworks.o 1390 endif 1391 else 1392 ARCH_STR=coff 1393 endif 1394 endif 1395 1396 LIBGNAT_TARGET_PAIRS += s-vxwork.ads<libgnarl/s-vxwork__$(ARCH_STR).ads 1397 1398 SVX=system-$(VX) 1399 1400 TOOLS_TARGET_PAIRS=indepsw.adb<indepsw-gnu.adb 1401 1402 ifeq ($(strip $(filter-out rtp-smp,$(THREAD_KIND))),) 1403 LIBGNAT_TARGET_PAIRS += \ 1404 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ 1405 s-vxwext.ads<libgnarl/s-vxwext__rtp.ads \ 1406 s-vxwext.adb<libgnarl/s-vxwext__rtp-smp.adb \ 1407 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-tls.adb \ 1408 system.ads<libgnat/$(SVX)-$(ARCH_STR)-rtp-smp.ads 1409 1410 EXTRA_LIBGNAT_OBJS+=affinity.o 1411 1412 EXTRA_LIBGNAT_OBJS+=$(SIGTRAMP_OBJ) 1413 EXTRA_LIBGNAT_SRCS+=$(VX_SIGTRAMP_EXTRA_SRCS) 1414 else 1415 ifeq ($(strip $(filter-out kernel-smp,$(THREAD_KIND))),) 1416 LIBGNAT_TARGET_PAIRS += \ 1417 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ 1418 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-tls.adb \ 1419 s-vxwext.ads<libgnarl/s-vxwext__kernel.ads \ 1420 s-vxwext.adb<libgnarl/s-vxwext__kernel-smp.adb \ 1421 system.ads<libgnat/$(SVX)-$(ARCH_STR).ads 1422 1423 EXTRA_LIBGNAT_OBJS+=affinity.o 1424 1425 EXTRA_LIBGNAT_OBJS+=$(SIGTRAMP_OBJ) 1426 EXTRA_LIBGNAT_SRCS+=$(VX_SIGTRAMP_EXTRA_SRCS) 1427 else 1428 LIBGNAT_TARGET_PAIRS += \ 1429 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks.adb \ 1430 system.ads<libgnat/$(SVX)-$(ARCH_STR).ads 1431 1432 ifeq ($(strip $(filter-out kernel,$(THREAD_KIND))),) 1433 LIBGNAT_TARGET_PAIRS += \ 1434 s-vxwext.ads<libgnarl/s-vxwext__kernel.ads \ 1435 s-vxwext.adb<libgnarl/s-vxwext__kernel.adb 1436 1437 EXTRA_LIBGNAT_OBJS+=$(SIGTRAMP_OBJ) 1438 EXTRA_LIBGNAT_SRCS+=$(VX_SIGTRAMP_EXTRA_SRCS) 1439 endif 1440 endif 1441 endif 1442 1443 EXTRA_GNATRTL_NONTASKING_OBJS += i-vxwork.o i-vxwoio.o s-stchop.o 1444 EXTRA_GNATRTL_TASKING_OBJS += i-vxinco.o s-vxwork.o s-vxwext.o 1445 1446 EXTRA_LIBGNAT_OBJS+=vx_stack_info.o 1447 1448 ifeq ($(strip $(filter-out arm vxworks7%, $(target_cpu) $(target_os))),) 1449 GCC_SPEC_FILES+=vxworks7-rtp-base-link.spec 1450 else 1451 ifeq ($(strip $(filter-out aarch64, $(target_cpu))),) 1452 GCC_SPEC_FILES+=vxworks7-rtp-base-link.spec 1453 endif 1454 1455 ifneq ($(strip $(filter-out vxworks7%, $(target_os))),) 1456 GCC_SPEC_FILES+=vxworks-arm-link.spec 1457 GCC_SPEC_FILES+=vxworks-smp-arm-link.spec 1458 endif 1459 endif 1460 ifeq ($(strip $(filter-out vxworks7%, $(target_os))),) 1461 GCC_SPEC_FILES+=vxworks7-cert-rtp-link.spec 1462 endif 1463endif 1464 1465# ARM android 1466ifeq ($(strip $(filter-out arm% linux-androideabi,$(target_cpu) $(target_os))),) 1467 LIBGNAT_TARGET_PAIRS = \ 1468 a-intnam.ads<libgnarl/a-intnam__linux.ads \ 1469 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 1470 s-intman.adb<libgnarl/s-intman__android.adb \ 1471 s-linux.ads<libgnarl/s-linux__android.ads \ 1472 s-osinte.adb<libgnarl/s-osinte__android.adb \ 1473 s-osinte.ads<libgnarl/s-osinte__android.ads \ 1474 s-osprim.adb<libgnat/s-osprim__posix.adb \ 1475 s-taprop.adb<libgnarl/s-taprop__posix.adb \ 1476 s-taspri.ads<libgnarl/s-taspri__posix.ads \ 1477 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ 1478 $(ATOMICS_TARGET_PAIRS) \ 1479 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ 1480 system.ads<libgnat/system-linux-arm.ads 1481 1482 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb 1483 1484 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o 1485 EXTRA_LIBGNAT_OBJS+=sigtramp-armdroid.o 1486 EXTRA_LIBGNAT_SRCS+=sigtramp.h 1487 EH_MECHANISM=-arm 1488 THREADSLIB = 1489 GNATLIB_SHARED = gnatlib-shared-dual 1490 LIBRARY_VERSION := $(LIB_VERSION) 1491endif 1492 1493# AARCH64 QNX 1494ifeq ($(strip $(filter-out aarch64 %qnx,$(target_cpu) $(target_os))),) 1495 LIBGNAT_TARGET_PAIRS = \ 1496 a-intnam.ads<libgnarl/a-intnam__qnx.ads \ 1497 a-nallfl.ads<libgnat/a-nallfl__wraplf.ads \ 1498 s-dorepr.adb<libgnat/s-dorepr__fma.adb \ 1499 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 1500 s-intman.adb<libgnarl/s-intman__qnx.adb \ 1501 s-osinte.adb<libgnarl/s-osinte__qnx.adb \ 1502 s-osinte.ads<libgnarl/s-osinte__qnx.ads \ 1503 s-osprim.adb<libgnat/s-osprim__posix.adb \ 1504 s-qnx.ads<libgnarl/s-qnx.ads \ 1505 s-taprop.adb<libgnarl/s-taprop__qnx.adb \ 1506 s-taspri.ads<libgnarl/s-taspri__posix.ads \ 1507 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ 1508 g-soliop.ads<libgnat/g-soliop__qnx.ads \ 1509 $(ATOMICS_TARGET_PAIRS) \ 1510 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ 1511 $(GNATRTL_128BIT_PAIRS) \ 1512 system.ads<libgnat/system-qnx-aarch64.ads 1513 1514 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb 1515 1516 EXTRA_GNATRTL_NONTASKING_OBJS = $(GNATRTL_128BIT_OBJS) 1517 EXTRA_GNATRTL_TASKING_OBJS=s-qnx.o 1518 EXTRA_LIBGNAT_OBJS+=sigtramp-qnx.o 1519 EXTRA_LIBGNAT_SRCS+=sigtramp.h 1520 EH_MECHANISM=-gcc 1521 1522 SO_OPTS= -shared-libgcc -Wl,-soname, 1523 MISCLIB= -lsocket 1524 THREADSLIB= 1525 GNATLIB_SHARED = gnatlib-shared-dual 1526 LIBRARY_VERSION := $(LIB_VERSION) 1527endif 1528 1529# SPARC Solaris 1530ifeq ($(strip $(filter-out sparc% sun solaris%,$(target_cpu) $(target_vendor) $(target_os))),) 1531 LIBGNAT_TARGET_PAIRS = \ 1532 a-intnam.ads<libgnarl/a-intnam__solaris.ads \ 1533 a-nallfl.ads<libgnat/a-nallfl__wraplf.ads \ 1534 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 1535 s-intman.adb<libgnarl/s-intman__solaris.adb \ 1536 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ 1537 s-osinte.adb<libgnarl/s-osinte__solaris.adb \ 1538 s-osinte.ads<libgnarl/s-osinte__solaris.ads \ 1539 s-osprim.adb<libgnat/s-osprim__solaris.adb \ 1540 s-taprop.adb<libgnarl/s-taprop__solaris.adb \ 1541 s-tasinf.adb<libgnarl/s-tasinf__solaris.adb \ 1542 s-tasinf.ads<libgnarl/s-tasinf__solaris.ads \ 1543 s-taspri.ads<libgnarl/s-taspri__solaris.ads \ 1544 s-tpopsp.adb<libgnarl/s-tpopsp__solaris.adb \ 1545 g-soliop.ads<libgnat/g-soliop__solaris.ads \ 1546 $(TRASYM_DWARF_UNIX_PAIRS) \ 1547 $(ATOMICS_TARGET_PAIRS) \ 1548 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ 1549 system.ads<libgnat/system-solaris-sparc.ads 1550 1551 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) 1552 1553 ifeq ($(strip $(filter-out sparc64 sparcv9,$(target_cpu))),) 1554 ifneq ($(strip $(MULTISUBDIR)),/sparcv8plus) 1555 LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) 1556 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 1557 endif 1558 else 1559 ifeq ($(strip $(MULTISUBDIR)),/sparcv9) 1560 LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) 1561 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 1562 endif 1563 endif 1564 1565 EH_MECHANISM=-gcc 1566 MISCLIB = -lnsl -lsocket 1567 SO_OPTS = -Wl,-h, 1568 GNATLIB_SHARED = gnatlib-shared-dual 1569 GMEM_LIB = gmemlib 1570 LIBRARY_VERSION := $(LIB_VERSION) 1571endif 1572 1573# x86 and x86-64 Solaris 1574ifeq ($(strip $(filter-out %86 %x86_64 solaris2%,$(target_cpu) $(target_os))),) 1575 LIBGNAT_TARGET_PAIRS_COMMON = \ 1576 a-intnam.ads<libgnarl/a-intnam__solaris.ads \ 1577 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 1578 s-intman.adb<libgnarl/s-intman__solaris.adb \ 1579 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ 1580 s-osinte.adb<libgnarl/s-osinte__solaris.adb \ 1581 s-osinte.ads<libgnarl/s-osinte__solaris.ads \ 1582 s-osprim.adb<libgnat/s-osprim__solaris.adb \ 1583 s-taprop.adb<libgnarl/s-taprop__solaris.adb \ 1584 s-tasinf.adb<libgnarl/s-tasinf__solaris.adb \ 1585 s-tasinf.ads<libgnarl/s-tasinf__solaris.ads \ 1586 s-taspri.ads<libgnarl/s-taspri__solaris.ads \ 1587 s-tpopsp.adb<libgnarl/s-tpopsp__solaris.adb \ 1588 g-soliop.ads<libgnat/g-soliop__solaris.ads \ 1589 $(TRASYM_DWARF_UNIX_PAIRS) \ 1590 $(ATOMICS_TARGET_PAIRS) \ 1591 system.ads<libgnat/system-solaris-x86.ads 1592 1593 ifeq ($(strip $(filter-out %86 solaris2%,$(target_cpu) $(target_os))),) 1594 ifeq ($(strip $(MULTISUBDIR)),/amd64) 1595 LIBGNAT_TARGET_PAIRS = \ 1596 $(LIBGNAT_TARGET_PAIRS_COMMON) $(X86_64_TARGET_PAIRS) 1597 LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) 1598 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 1599 else 1600 LIBGNAT_TARGET_PAIRS = \ 1601 $(LIBGNAT_TARGET_PAIRS_COMMON) $(X86_TARGET_PAIRS) 1602 endif 1603 else 1604 ifeq ($(strip $(MULTISUBDIR)),/32) 1605 LIBGNAT_TARGET_PAIRS = \ 1606 $(LIBGNAT_TARGET_PAIRS_COMMON) $(X86_TARGET_PAIRS) 1607 else 1608 LIBGNAT_TARGET_PAIRS = \ 1609 $(LIBGNAT_TARGET_PAIRS_COMMON) $(X86_64_TARGET_PAIRS) 1610 LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) 1611 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 1612 endif 1613 endif 1614 1615 EXTRA_GNATRTL_NONTASKING_OBJS += g-sse.o g-ssvety.o 1616 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) 1617 1618 EH_MECHANISM=-gcc 1619 MISCLIB = -lnsl -lsocket 1620 SO_OPTS = -Wl,-h, 1621 GNATLIB_SHARED = gnatlib-shared-dual 1622 GMEM_LIB = gmemlib 1623 LIBRARY_VERSION := $(LIB_VERSION) 1624endif 1625 1626# x86 Linux 1627ifeq ($(strip $(filter-out %86 linux%,$(target_cpu) $(target_os))),) 1628 LIBGNAT_TARGET_PAIRS = \ 1629 a-intnam.ads<libgnarl/a-intnam__linux.ads \ 1630 a-synbar.adb<libgnarl/a-synbar__posix.adb \ 1631 a-synbar.ads<libgnarl/a-synbar__posix.ads \ 1632 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 1633 s-intman.adb<libgnarl/s-intman__posix.adb \ 1634 s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \ 1635 $(TRASYM_DWARF_UNIX_PAIRS) \ 1636 s-tsmona.adb<libgnat/s-tsmona__linux.adb \ 1637 a-exetim.adb<libgnarl/a-exetim__posix.adb \ 1638 a-exetim.ads<libgnarl/a-exetim__default.ads \ 1639 s-linux.ads<libgnarl/s-linux.ads \ 1640 s-osinte.adb<libgnarl/s-osinte__posix.adb \ 1641 $(ATOMICS_TARGET_PAIRS) \ 1642 system.ads<libgnat/system-linux-x86.ads 1643 1644 ifeq ($(strip $(MULTISUBDIR)),/64) 1645 LIBGNAT_TARGET_PAIRS += $(X86_64_TARGET_PAIRS) 1646 LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) 1647 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 1648 else 1649 LIBGNAT_TARGET_PAIRS += $(X86_TARGET_PAIRS) 1650 endif 1651 1652 LIBGNAT_TARGET_PAIRS += \ 1653 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ 1654 s-osinte.ads<libgnarl/s-osinte__linux.ads \ 1655 s-osprim.adb<libgnat/s-osprim__posix.adb \ 1656 s-taprop.adb<libgnarl/s-taprop__linux.adb \ 1657 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ 1658 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ 1659 s-taspri.ads<libgnarl/s-taspri__posix.ads 1660 1661 EH_MECHANISM=-gcc 1662 THREADSLIB = -lpthread -lrt 1663 EXTRA_GNATRTL_NONTASKING_OBJS += g-sse.o g-ssvety.o 1664 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) 1665 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o 1666 1667 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb 1668 1669 GNATLIB_SHARED = gnatlib-shared-dual 1670 MISCLIB = -ldl 1671 GMEM_LIB = gmemlib 1672 LIBRARY_VERSION := $(LIB_VERSION) 1673 1674 GNATLIBCFLAGS_FOR_GCCSJLJ+=-fno-omit-frame-pointer -momit-leaf-frame-pointer 1675endif 1676 1677# x86 kfreebsd 1678ifeq ($(strip $(filter-out %86 kfreebsd%,$(target_cpu) $(target_os))),) 1679 LIBGNAT_TARGET_PAIRS = \ 1680 a-intnam.ads<libgnarl/a-intnam__freebsd.ads \ 1681 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 1682 s-intman.adb<libgnarl/s-intman__posix.adb \ 1683 s-osinte.adb<libgnarl/s-osinte__posix.adb \ 1684 s-osinte.ads<libgnarl/s-osinte__kfreebsd-gnu.ads \ 1685 s-osprim.adb<libgnat/s-osprim__posix.adb \ 1686 s-taprop.adb<libgnarl/s-taprop__posix.adb \ 1687 s-taspri.ads<libgnarl/s-taspri__posix.ads \ 1688 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ 1689 $(TRASYM_DWARF_UNIX_PAIRS) \ 1690 $(ATOMICS_TARGET_PAIRS) \ 1691 $(X86_TARGET_PAIRS) \ 1692 system.ads<libgnat/system-freebsd.ads 1693 1694 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb 1695 1696 EXTRA_GNATRTL_NONTASKING_OBJS += g-sse.o g-ssvety.o 1697 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) 1698 1699 EH_MECHANISM=-gcc 1700 THREADSLIB = -lpthread 1701 GNATLIB_SHARED = gnatlib-shared-dual 1702 GMEM_LIB = gmemlib 1703 LIBRARY_VERSION := $(LIB_VERSION) 1704 MISCLIB = -lutil 1705endif 1706 1707# i[3456]86-pc-gnu i.e. GNU Hurd 1708ifeq ($(strip $(filter-out %86 pc gnu,$(target_cpu) $(target_vendor) $(target_os))),) 1709 LIBGNAT_TARGET_PAIRS = \ 1710 a-intnam.ads<libgnarl/a-intnam__freebsd.ads \ 1711 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 1712 s-intman.adb<libgnarl/s-intman__posix.adb \ 1713 s-osinte.adb<libgnarl/s-osinte__gnu.adb \ 1714 s-osinte.ads<libgnarl/s-osinte__gnu.ads \ 1715 s-osprim.adb<libgnat/s-osprim__posix.adb \ 1716 s-taprop.adb<libgnarl/s-taprop__posix.adb \ 1717 s-taspri.ads<libgnarl/s-taspri__posix.ads \ 1718 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ 1719 $(ATOMICS_TARGET_PAIRS) \ 1720 $(X86_TARGET_PAIRS) \ 1721 system.ads<libgnat/system-freebsd.ads 1722 1723 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb 1724 1725 EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o 1726 1727 EH_MECHANISM=-gcc 1728 THREADSLIB = -lpthread 1729 GNATLIB_SHARED = gnatlib-shared-dual 1730 GMEM_LIB = gmemlib 1731 LIBRARY_VERSION := $(LIB_VERSION) 1732endif 1733 1734ifeq ($(strip $(filter-out x86_64 kfreebsd%,$(target_cpu) $(target_os))),) 1735 LIBGNAT_TARGET_PAIRS = \ 1736 a-intnam.ads<libgnarl/a-intnam__freebsd.ads \ 1737 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 1738 s-intman.adb<libgnarl/s-intman__posix.adb \ 1739 s-osinte.adb<libgnarl/s-osinte__posix.adb \ 1740 s-osinte.ads<libgnarl/s-osinte__kfreebsd-gnu.ads \ 1741 s-osprim.adb<libgnat/s-osprim__posix.adb \ 1742 s-taprop.adb<libgnarl/s-taprop__posix.adb \ 1743 s-taspri.ads<libgnarl/s-taspri__posix.ads \ 1744 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ 1745 $(ATOMICS_TARGET_PAIRS) \ 1746 $(X86_64_TARGET_PAIRS) \ 1747 $(GNATRTL_128BIT_PAIRS) \ 1748 system.ads<libgnat/system-freebsd.ads 1749 1750 EXTRA_GNATRTL_NONTASKING_OBJS = $(GNATRTL_128BIT_OBJS) 1751 1752 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb 1753 1754 EH_MECHANISM=-gcc 1755 THREADSLIB = -lpthread 1756 GNATLIB_SHARED = gnatlib-shared-dual 1757 GMEM_LIB = gmemlib 1758 LIBRARY_VERSION := $(LIB_VERSION) 1759endif 1760 1761# aarch64 FreeBSD 1762ifeq ($(strip $(filter-out %aarch64 freebsd%,$(target_cpu) $(target_os))),) 1763 LIBGNAT_TARGET_PAIRS = \ 1764 a-intnam.ads<libgnarl/a-intnam__freebsd.ads \ 1765 a-nallfl.ads<libgnat/a-nallfl__wraplf.ads \ 1766 s-dorepr.adb<libgnat/s-dorepr__fma.adb \ 1767 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 1768 s-intman.adb<libgnarl/s-intman__posix.adb \ 1769 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ 1770 s-osinte.adb<libgnarl/s-osinte__freebsd.adb \ 1771 s-osinte.ads<libgnarl/s-osinte__freebsd.ads \ 1772 s-osprim.adb<libgnat/s-osprim__posix.adb \ 1773 s-taprop.adb<libgnarl/s-taprop__posix.adb \ 1774 s-taspri.ads<libgnarl/s-taspri__posix.ads \ 1775 s-tpopsp.adb<libgnarl/s-tpopsp__posix.adb \ 1776 $(ATOMICS_TARGET_PAIRS) \ 1777 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ 1778 $(GNATRTL_128BIT_PAIRS) \ 1779 system.ads<libgnat/system-freebsd.ads 1780 1781 EXTRA_GNATRTL_NONTASKING_OBJS = $(GNATRTL_128BIT_OBJS) 1782 1783 GNATLIB_SHARED = gnatlib-shared-dual 1784 1785 EH_MECHANISM=-gcc 1786 THREADSLIB= -lpthread 1787 GMEM_LIB = gmemlib 1788 LIBRARY_VERSION := $(LIB_VERSION) 1789 MISCLIB = -lutil 1790endif 1791 1792# x86 FreeBSD 1793ifeq ($(strip $(filter-out %86 freebsd%,$(target_cpu) $(target_os))),) 1794 LIBGNAT_TARGET_PAIRS = \ 1795 a-intnam.ads<libgnarl/a-intnam__freebsd.ads \ 1796 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 1797 s-intman.adb<libgnarl/s-intman__posix.adb \ 1798 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ 1799 s-osinte.adb<libgnarl/s-osinte__freebsd.adb \ 1800 s-osinte.ads<libgnarl/s-osinte__freebsd.ads \ 1801 s-osprim.adb<libgnat/s-osprim__posix.adb \ 1802 s-taprop.adb<libgnarl/s-taprop__posix.adb \ 1803 s-taspri.ads<libgnarl/s-taspri__posix.ads \ 1804 s-tpopsp.adb<libgnarl/s-tpopsp__posix.adb \ 1805 $(TRASYM_DWARF_UNIX_PAIRS) \ 1806 $(ATOMICS_TARGET_PAIRS) \ 1807 $(X86_TARGET_PAIRS) \ 1808 system.ads<libgnat/system-freebsd.ads 1809 1810 GNATLIB_SHARED = gnatlib-shared-dual 1811 1812 EXTRA_GNATRTL_NONTASKING_OBJS += g-sse.o g-ssvety.o 1813 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) 1814 1815 EH_MECHANISM=-gcc 1816 THREADSLIB= -lpthread 1817 GMEM_LIB = gmemlib 1818 LIBRARY_VERSION := $(LIB_VERSION) 1819 MISCLIB = -lutil 1820endif 1821 1822# x86-64 FreeBSD 1823ifeq ($(strip $(filter-out %86_64 freebsd%,$(target_cpu) $(target_os))),) 1824 LIBGNAT_TARGET_PAIRS = \ 1825 a-intnam.ads<libgnarl/a-intnam__freebsd.ads \ 1826 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 1827 s-intman.adb<libgnarl/s-intman__posix.adb \ 1828 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ 1829 s-osinte.adb<libgnarl/s-osinte__freebsd.adb \ 1830 s-osinte.ads<libgnarl/s-osinte__freebsd.ads \ 1831 s-osprim.adb<libgnat/s-osprim__posix.adb \ 1832 s-taprop.adb<libgnarl/s-taprop__posix.adb \ 1833 s-taspri.ads<libgnarl/s-taspri__posix.ads \ 1834 s-tpopsp.adb<libgnarl/s-tpopsp__posix.adb \ 1835 $(TRASYM_DWARF_UNIX_PAIRS) \ 1836 $(ATOMICS_TARGET_PAIRS) \ 1837 $(X86_64_TARGET_PAIRS) \ 1838 $(GNATRTL_128BIT_PAIRS) \ 1839 system.ads<libgnat/system-freebsd.ads 1840 1841 GNATLIB_SHARED = gnatlib-shared-dual 1842 1843 EXTRA_GNATRTL_NONTASKING_OBJS += g-sse.o g-ssvety.o 1844 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) 1845 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 1846 1847 EH_MECHANISM=-gcc 1848 THREADSLIB= -lpthread 1849 GMEM_LIB = gmemlib 1850 LIBRARY_VERSION := $(LIB_VERSION) 1851 MISCLIB = -lutil 1852endif 1853 1854# x86-64 DragonFly 1855ifeq ($(strip $(filter-out %86_64 dragonfly%,$(target_cpu) $(target_os))),) 1856 LIBGNAT_TARGET_PAIRS = \ 1857 a-intnam.ads<libgnarl/a-intnam__dragonfly.ads \ 1858 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 1859 s-intman.adb<libgnarl/s-intman__posix.adb \ 1860 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ 1861 s-osinte.adb<libgnarl/s-osinte__dragonfly.adb \ 1862 s-osinte.ads<libgnarl/s-osinte__dragonfly.ads \ 1863 s-osprim.adb<libgnat/s-osprim__posix.adb \ 1864 s-taprop.adb<libgnarl/s-taprop__posix.adb \ 1865 s-taspri.ads<libgnarl/s-taspri__posix.ads \ 1866 s-tpopsp.adb<libgnarl/s-tpopsp__posix.adb \ 1867 $(ATOMICS_TARGET_PAIRS) \ 1868 $(X86_64_TARGET_PAIRS) \ 1869 $(GNATRTL_128BIT_PAIRS) \ 1870 system.ads<libgnat/system-dragonfly-x86_64.ads 1871 1872 GNATLIB_SHARED = gnatlib-shared-dual 1873 1874 EXTRA_GNATRTL_NONTASKING_OBJS += g-sse.o g-ssvety.o 1875 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 1876 1877 EH_MECHANISM=-gcc 1878 THREADSLIB= -lpthread 1879 GMEM_LIB = gmemlib 1880 LIBRARY_VERSION := $(LIB_VERSION) 1881 MISCLIB = -lutil 1882endif 1883 1884# S390 Linux 1885ifeq ($(strip $(filter-out s390% linux%,$(target_cpu) $(target_os))),) 1886 LIBGNAT_TARGET_PAIRS = \ 1887 a-intnam.ads<libgnarl/a-intnam__linux.ads \ 1888 a-nallfl.ads<libgnat/a-nallfl__wraplf.ads \ 1889 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 1890 s-intman.adb<libgnarl/s-intman__posix.adb \ 1891 s-linux.ads<libgnarl/s-linux.ads \ 1892 s-osinte.adb<libgnarl/s-osinte__posix.adb \ 1893 s-osinte.ads<libgnarl/s-osinte__linux.ads \ 1894 s-osprim.adb<libgnat/s-osprim__posix.adb \ 1895 s-taprop.adb<libgnarl/s-taprop__linux.adb \ 1896 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ 1897 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ 1898 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ 1899 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ 1900 system.ads<libgnat/system-linux-s390.ads 1901 1902 ifeq ($(strip $(filter-out s390x,$(target_cpu))),) 1903 ifneq ($(strip $(MULTISUBDIR)),/32) 1904 LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) 1905 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 1906 endif 1907 else 1908 ifeq ($(strip $(MULTISUBDIR)),/64) 1909 LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) 1910 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 1911 endif 1912 endif 1913 1914 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb 1915 1916 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o 1917 EH_MECHANISM=-gcc 1918 THREADSLIB = -lpthread 1919 GNATLIB_SHARED = gnatlib-shared-dual 1920 LIBRARY_VERSION := $(LIB_VERSION) 1921endif 1922 1923# HP/PA HP-UX 10 1924ifeq ($(strip $(filter-out hppa% hp hpux10%,$(target_cpu) $(target_vendor) $(target_os))),) 1925 LIBGNAT_TARGET_PAIRS = \ 1926 a-intnam.ads<libgnarl/a-intnam__hpux.ads \ 1927 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 1928 s-interr.adb<libgnarl/s-interr__sigaction.adb \ 1929 s-intman.adb<libgnarl/s-intman__posix.adb \ 1930 a-nallfl.ads<libgnat/a-nallfl__wraplf.ads \ 1931 s-osinte.adb<libgnarl/s-osinte__hpux-dce.adb \ 1932 s-osinte.ads<libgnarl/s-osinte__hpux-dce.ads \ 1933 s-parame.ads<libgnat/s-parame__hpux.ads \ 1934 s-osprim.adb<libgnat/s-osprim__posix.adb \ 1935 s-taprop.adb<libgnarl/s-taprop__hpux-dce.adb \ 1936 s-taspri.ads<libgnarl/s-taspri__hpux-dce.ads \ 1937 s-tpopsp.adb<libgnarl/s-tpopsp__posix.adb \ 1938 system.ads<libgnat/system-hpux.ads 1939 1940 EH_MECHANISM=-gcc 1941endif 1942 1943# HP/PA HP-UX 11 1944ifeq ($(strip $(filter-out hppa% hp hpux11%,$(target_cpu) $(target_vendor) $(target_os))),) 1945 LIBGNAT_TARGET_PAIRS = \ 1946 a-intnam.ads<libgnarl/a-intnam__hpux.ads \ 1947 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 1948 s-intman.adb<libgnarl/s-intman__posix.adb \ 1949 a-nallfl.ads<libgnat/a-nallfl__wraplf.ads \ 1950 s-osinte.adb<libgnarl/s-osinte__posix.adb \ 1951 s-osinte.ads<libgnarl/s-osinte__hpux.ads \ 1952 s-parame.ads<libgnat/s-parame__hpux.ads \ 1953 s-osprim.adb<libgnat/s-osprim__posix.adb \ 1954 s-traceb.adb<libgnat/s-traceb__hpux.adb \ 1955 s-taprop.adb<libgnarl/s-taprop__posix.adb \ 1956 s-taspri.ads<libgnarl/s-taspri__posix.ads \ 1957 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ 1958 system.ads<libgnat/system-hpux.ads 1959 1960 EH_MECHANISM=-gcc 1961 TGT_LIB = /usr/lib/libcl.a 1962 THREADSLIB = -lpthread 1963 GMEM_LIB = gmemlib 1964 soext = .sl 1965 SO_OPTS = -Wl,+h, 1966 GNATLIB_SHARED = gnatlib-shared-dual 1967 LIBRARY_VERSION := $(LIB_VERSION) 1968endif 1969 1970# IBM AIX 1971ifeq ($(strip $(filter-out ibm aix%,$(target_vendor) $(target_os))),) 1972 LIBGNAT_TARGET_PAIRS = \ 1973 a-intnam.ads<libgnarl/a-intnam__aix.ads \ 1974 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 1975 s-intman.adb<libgnarl/s-intman__posix.adb \ 1976 s-osinte.adb<libgnarl/s-osinte__aix.adb \ 1977 s-osinte.ads<libgnarl/s-osinte__aix.ads \ 1978 s-osprim.adb<libgnat/s-osprim__posix.adb \ 1979 s-taprop.adb<libgnarl/s-taprop__posix.adb \ 1980 s-taspri.ads<libgnarl/s-taspri__posix.ads \ 1981 s-tpopsp.adb<libgnarl/s-tpopsp__posix.adb \ 1982 $(TRASYM_DWARF_UNIX_PAIRS) \ 1983 $(ATOMICS_TARGET_PAIRS) \ 1984 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ 1985 system.ads<libgnat/system-aix.ads 1986 1987 ifneq ($(target_os),) 1988 ifeq ($(findstring ppc64, \ 1989 $(shell $(GCC_FOR_TARGET) $(GNATLIBCFLAGS) \ 1990 -print-multi-os-directory)), \ 1991 ppc64) 1992 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-aix.adb 1993 else 1994 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb 1995 endif 1996 endif 1997 1998 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) 1999 2000 THREADSLIB = -lpthreads 2001 EH_MECHANISM=-gcc 2002 2003 GMEM_LIB = gmemlib 2004endif 2005 2006# LynxOS 178 and LynxOS 178 Elf 2007ifeq ($(strip $(filter-out lynxos178%,$(target_os))),) 2008 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb 2009 2010 LIBGNAT_TARGET_PAIRS = \ 2011 a-intnam.ads<libgnarl/a-intnam__lynxos.ads \ 2012 a-nuaufl.ads<libgnat/a-nuaufl__wraplf.ads \ 2013 a-nashfl.ads<libgnat/a-nashfl__wraplf.ads \ 2014 a-nallfl.ads<libgnat/a-nallfl__wraplf.ads \ 2015 g-soliop.ads<libgnat/g-soliop__lynxos.ads \ 2016 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 2017 s-intman.adb<libgnarl/s-intman__lynxos.adb \ 2018 s-osinte.adb<libgnarl/s-osinte__lynxos178.adb \ 2019 s-osprim.ads<libgnat/s-osprim__lynxos.ads \ 2020 s-taprop.adb<libgnarl/s-taprop__posix.adb \ 2021 s-taspri.ads<libgnarl/s-taspri__lynxos.ads \ 2022 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb 2023 2024 ifeq ($(strip $(filter-out powerpc%, $(target_cpu))),) 2025 LIBGNAT_TARGET_PAIRS += system.ads<libgnat/system-lynxos178-ppc.ads 2026 endif 2027 ifeq ($(strip $(filter-out %86, $(target_cpu))),) 2028 LIBGNAT_TARGET_PAIRS += system.ads<libgnat/system-lynxos178-x86.ads 2029 endif 2030 2031 ifeq ($(strip $(filter-out lynxos178e,$(target_os))),) 2032 LIBGNAT_TARGET_PAIRS += \ 2033 s-parame.ads<libgnat/s-parame__posix2008.ads \ 2034 s-osinte.ads<libgnarl/s-osinte__lynxos178e.ads \ 2035 s-osprim.adb<libgnat/s-osprim__posix2008.adb \ 2036 s-tracon.adb<hie/s-tracon__ppc-eabi.adb 2037 endif 2038 2039 EH_MECHANISM=-gcc 2040endif 2041 2042# RTEMS 2043ifeq ($(strip $(filter-out rtems%,$(target_os))),) 2044 LIBGNAT_TARGET_PAIRS = \ 2045 system.ads<libgnat/system-rtems.ads \ 2046 a-intnam.ads<libgnarl/a-intnam__rtems.ads \ 2047 s-inmaop.adb<libgnarl/s-inmaop__hwint.adb \ 2048 s-intman.adb<libgnarl/s-intman__rtems.adb \ 2049 s-intman.ads<libgnarl/s-intman__rtems.ads \ 2050 s-osinte.adb<libgnarl/s-osinte__rtems.adb \ 2051 s-osinte.ads<libgnarl/s-osinte__rtems.ads \ 2052 s-osprim.adb<libgnat/s-osprim__rtems.adb \ 2053 s-parame.adb<libgnat/s-parame__rtems.adb \ 2054 s-parame.ads<libgnat/s-parame__posix2008.ads \ 2055 s-taprop.adb<libgnarl/s-taprop__rtems.adb \ 2056 s-taspri.ads<libgnarl/s-taspri__posix.ads \ 2057 s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \ 2058 s-interr.adb<libgnarl/s-interr__hwint.adb 2059 2060 EXTRA_GNATRTL_NONTASKING_OBJS += s-stchop.o 2061 2062 ifeq ($(strip $(filter-out arm%, $(target_cpu))),) 2063 EH_MECHANISM=-arm 2064 else 2065 EH_MECHANISM=-gcc 2066 endif 2067 2068 ifeq ($(strip $(filter-out aarch64%,$(target_cpu))),) 2069 LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) 2070 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 2071 endif 2072 2073 ifeq ($(strip $(filter-out aarch64% riscv%,$(target_cpu))),) 2074 LIBGNAT_TARGET_PAIRS += a-nallfl.ads<libgnat/a-nallfl__wraplf.ads 2075 endif 2076 2077 # Target CPUs that support atomic primitives 2078 ifeq ($(strip $(filter-out aarch64%,$(target_cpu))),) 2079 LIBGNAT_TARGET_PAIRS += \ 2080 $(ATOMICS_TARGET_PAIRS) \ 2081 $(ATOMICS_BUILTINS_TARGET_PAIRS) 2082 endif 2083endif 2084 2085# PikeOS 2086ifeq ($(strip $(filter-out powerpc% %86 sysgo pikeos,$(target_cpu) $(target_vendor) $(target_os)))),) 2087 TOOLS_TARGET_PAIRS=indepsw.adb<indepsw-gnu.adb 2088endif 2089 2090# *-elf, *-eabi, or *-eabispe 2091ifeq ($(strip $(filter-out elf eabi eabispe,$(target_os))),) 2092 TOOLS_TARGET_PAIRS=indepsw.adb<indepsw-gnu.adb 2093endif 2094 2095ifeq ($(strip $(filter-out %djgpp,$(target_os))),) 2096 GNATRTL_SOCKETS_OBJS = 2097 2098 LIBGNAT_TARGET_PAIRS = \ 2099 a-intnam.ads<libgnarl/a-intnam__dummy.ads \ 2100 s-inmaop.adb<libgnarl/s-inmaop__dummy.adb \ 2101 s-intman.adb<libgnarl/s-intman__dummy.adb \ 2102 s-osinte.ads<libgnarl/s-osinte__dummy.ads \ 2103 s-osprim.adb<libgnat/s-osprim__unix.adb \ 2104 s-taprop.adb<libgnarl/s-taprop__dummy.adb \ 2105 s-taspri.ads<libgnarl/s-taspri__dummy.ads \ 2106 system.ads<libgnat/system-djgpp.ads \ 2107 $(DUMMY_SOCKETS_TARGET_PAIRS) 2108 2109 EH_MECHANISM=-gcc 2110endif 2111 2112# Cygwin/Mingw32 2113ifeq ($(strip $(filter-out cygwin% mingw32% pe,$(target_os))),) 2114 # Cygwin provides a full Posix environment, and so we use the default 2115 # versions g-socthi rather than the Windows-specific MinGW version. 2116 # Ideally we would use all the default versions for Cygwin and none 2117 # of the MinGW versions, but for historical reasons the Cygwin port 2118 # has always been a CygMing frankenhybrid and it is a long-term project 2119 # to disentangle them. 2120 ifeq ($(strip $(filter-out cygwin%,$(target_os))),) 2121 LIBGNAT_TARGET_PAIRS = \ 2122 g-socthi.ads<libgnat/g-socthi.ads \ 2123 g-socthi.adb<libgnat/g-socthi.adb 2124 else 2125 LIBGNAT_TARGET_PAIRS = \ 2126 g-socthi.ads<libgnat/g-socthi__mingw.ads \ 2127 g-socthi.adb<libgnat/g-socthi__mingw.adb \ 2128 g-sopowa.adb<libgnat/g-sopowa__mingw.adb 2129 endif 2130 LIBGNAT_TARGET_PAIRS += \ 2131 a-dirval.adb<libgnat/a-dirval__mingw.adb \ 2132 s-gloloc.adb<libgnat/s-gloloc__mingw.adb \ 2133 s-inmaop.adb<libgnarl/s-inmaop__dummy.adb \ 2134 s-taspri.ads<libgnarl/s-taspri__mingw.ads \ 2135 s-tasinf.adb<libgnarl/s-tasinf__mingw.adb \ 2136 s-tasinf.ads<libgnarl/s-tasinf__mingw.ads \ 2137 g-stsifd.adb<libgnat/g-stsifd__sockets.adb \ 2138 g-soliop.ads<libgnat/g-soliop__mingw.ads \ 2139 $(ATOMICS_TARGET_PAIRS) \ 2140 system.ads<libgnat/system-mingw.ads 2141 2142 LIBGNAT_TARGET_PAIRS += \ 2143 a-exetim.adb<libgnarl/a-exetim__mingw.adb \ 2144 a-exetim.ads<libgnarl/a-exetim__mingw.ads \ 2145 a-intnam.ads<libgnarl/a-intnam__mingw.ads \ 2146 g-sercom.adb<libgnat/g-sercom__mingw.adb \ 2147 $(TRASYM_DWARF_MINGW_PAIRS) \ 2148 s-tsmona.adb<libgnat/s-tsmona__mingw.adb \ 2149 s-interr.adb<libgnarl/s-interr__sigaction.adb \ 2150 s-intman.adb<libgnarl/s-intman__mingw.adb \ 2151 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ 2152 s-osinte.ads<libgnarl/s-osinte__mingw.ads \ 2153 s-osprim.adb<libgnat/s-osprim__mingw.adb \ 2154 s-taprop.adb<libgnarl/s-taprop__mingw.adb 2155 2156 ifeq ($(strip $(filter-out x86_64%,$(target_cpu))),) 2157 ifeq ($(strip $(MULTISUBDIR)),/32) 2158 LIBGNAT_TARGET_PAIRS += $(X86_TARGET_PAIRS) 2159 SO_OPTS= -m32 -Wl,-soname, 2160 else 2161 LIBGNAT_TARGET_PAIRS += $(X86_64_TARGET_PAIRS) $(GNATRTL_128BIT_PAIRS) 2162 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 2163 SO_OPTS = -m64 -Wl,-soname, 2164 endif 2165 else 2166 ifeq ($(strip $(MULTISUBDIR)),/64) 2167 LIBGNAT_TARGET_PAIRS += $(X86_64_TARGET_PAIRS) $(GNATRTL_128BIT_PAIRS) 2168 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 2169 SO_OPTS = -m64 -Wl,-soname, 2170 else 2171 LIBGNAT_TARGET_PAIRS += $(X86_TARGET_PAIRS) 2172 SO_OPTS = -m32 -Wl,-soname, 2173 endif 2174 endif 2175 2176 EXTRA_GNATRTL_NONTASKING_OBJS += \ 2177 s-win32.o s-winext.o g-regist.o g-sse.o g-ssvety.o 2178 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_MINGW_OBJS) 2179 EXTRA_GNATRTL_TASKING_OBJS = a-exetim.o 2180 EXTRA_LIBGNAT_SRCS+=mingw32.h 2181 MISCLIB = -lws2_32 2182 2183 # ??? This will be replaced by gnatlib-shared-dual-win32 when GNAT 2184 # auto-import support for array/record will be done. 2185 GNATLIB_SHARED = gnatlib-shared-win32 2186 2187 EH_MECHANISM=-gcc 2188 2189 TOOLS_TARGET_PAIRS=indepsw.adb<indepsw-gnu.adb 2190 2191 GMEM_LIB = gmemlib 2192 EXTRA_GNATTOOLS = ../../gnatdll$(exeext) 2193 EXTRA_GNATMAKE_OBJS = mdll.o mdll-utl.o mdll-fil.o 2194 soext = .dll 2195 LIBRARY_VERSION := $(LIB_VERSION) 2196endif 2197 2198# Mips Linux 2199ifeq ($(strip $(filter-out mips% linux%,$(target_cpu) $(target_os))),) 2200 LIBGNAT_TARGET_PAIRS = \ 2201 a-intnam.ads<libgnarl/a-intnam__linux.ads \ 2202 a-nallfl.ads<libgnat/a-nallfl__wraplf.ads \ 2203 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 2204 s-intman.adb<libgnarl/s-intman__posix.adb \ 2205 s-linux.ads<libgnarl/s-linux__mips.ads \ 2206 s-osinte.adb<libgnarl/s-osinte__posix.adb \ 2207 s-osinte.ads<libgnarl/s-osinte__linux.ads \ 2208 s-osprim.adb<libgnat/s-osprim__posix.adb \ 2209 s-taprop.adb<libgnarl/s-taprop__linux.adb \ 2210 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ 2211 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ 2212 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ 2213 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ 2214 system.ads<libgnat/system-linux-mips.ads 2215 2216 ifeq ($(strip $(filter-out mips64% mipsisa64%,$(target_cpu))),) 2217 ifneq ($(strip $(MULTISUBDIR)),/32) 2218 LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) 2219 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 2220 endif 2221 else 2222 ifneq ($(strip $(filter /64 /n32,$(MULTISUBDIR))),) 2223 LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) 2224 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 2225 endif 2226 endif 2227 2228 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb 2229 2230 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o 2231 EH_MECHANISM=-gcc 2232 THREADSLIB = -lpthread 2233 GNATLIB_SHARED = gnatlib-shared-dual 2234 GMEM_LIB = gmemlib 2235 LIBRARY_VERSION := $(LIB_VERSION) 2236endif 2237 2238# PowerPC and e500v2 Linux 2239ifeq ($(strip $(filter-out powerpc% linux%,$(target_cpu) $(target_os))),) 2240 LIBGNAT_TARGET_PAIRS = \ 2241 a-exetim.adb<libgnarl/a-exetim__posix.adb \ 2242 a-exetim.ads<libgnarl/a-exetim__default.ads \ 2243 a-intnam.ads<libgnarl/a-intnam__linux.ads \ 2244 a-nallfl.ads<libgnat/a-nallfl__wraplf.ads \ 2245 a-synbar.adb<libgnarl/a-synbar__posix.adb \ 2246 a-synbar.ads<libgnarl/a-synbar__posix.ads \ 2247 s-dorepr.adb<libgnat/s-dorepr__fma.adb \ 2248 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 2249 s-intman.adb<libgnarl/s-intman__posix.adb \ 2250 s-linux.ads<libgnarl/s-linux.ads \ 2251 s-osinte.adb<libgnarl/s-osinte__posix.adb \ 2252 s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \ 2253 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ 2254 s-osinte.ads<libgnarl/s-osinte__linux.ads \ 2255 s-osprim.adb<libgnat/s-osprim__posix.adb \ 2256 s-taprop.adb<libgnarl/s-taprop__linux.adb \ 2257 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ 2258 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ 2259 s-taspri.ads<libgnarl/s-taspri__posix.ads \ 2260 $(TRASYM_DWARF_UNIX_PAIRS) \ 2261 s-tsmona.adb<libgnat/s-tsmona__linux.adb \ 2262 $(ATOMICS_TARGET_PAIRS) \ 2263 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ 2264 system.ads<libgnat/system-linux-ppc.ads 2265 2266 ifeq ($(strip $(filter-out powerpc64%,$(target_cpu))),) 2267 ifneq ($(strip $(MULTISUBDIR)),/32) 2268 LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) 2269 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 2270 endif 2271 else 2272 ifeq ($(strip $(MULTISUBDIR)),/64) 2273 LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) 2274 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 2275 endif 2276 endif 2277 2278 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb 2279 2280 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) 2281 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o 2282 2283 EH_MECHANISM=-gcc 2284 THREADSLIB = -lpthread -lrt 2285 GNATLIB_SHARED = gnatlib-shared-dual 2286 MISCLIB = -ldl 2287 GMEM_LIB = gmemlib 2288 LIBRARY_VERSION := $(LIB_VERSION) 2289endif 2290 2291# ARM linux, GNU eabi 2292ifeq ($(strip $(filter-out arm% linux-gnueabi%,$(target_cpu) $(target_os))),) 2293 LIBGNAT_TARGET_PAIRS = \ 2294 a-intnam.ads<libgnarl/a-intnam__linux.ads \ 2295 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 2296 s-intman.adb<libgnarl/s-intman__posix.adb \ 2297 s-linux.ads<libgnarl/s-linux.ads \ 2298 s-osinte.adb<libgnarl/s-osinte__posix.adb \ 2299 s-osinte.ads<libgnarl/s-osinte__linux.ads \ 2300 s-osprim.adb<libgnat/s-osprim__posix.adb \ 2301 s-taprop.adb<libgnarl/s-taprop__linux.adb \ 2302 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ 2303 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ 2304 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ 2305 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ 2306 $(TRASYM_DWARF_UNIX_PAIRS) \ 2307 $(ATOMICS_TARGET_PAIRS) \ 2308 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ 2309 system.ads<libgnat/system-linux-arm.ads 2310 2311 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb 2312 2313 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) 2314 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o 2315 EH_MECHANISM=-arm 2316 THREADSLIB = -lpthread 2317 GNATLIB_SHARED = gnatlib-shared-dual 2318 GMEM_LIB = gmemlib 2319 LIBRARY_VERSION := $(LIB_VERSION) 2320endif 2321 2322# AArch64 Linux 2323ifeq ($(strip $(filter-out aarch64% linux%,$(target_cpu) $(target_os))),) 2324 LIBGNAT_TARGET_PAIRS = \ 2325 a-exetim.adb<libgnarl/a-exetim__posix.adb \ 2326 a-exetim.ads<libgnarl/a-exetim__default.ads \ 2327 a-intnam.ads<libgnarl/a-intnam__linux.ads \ 2328 a-nallfl.ads<libgnat/a-nallfl__wraplf.ads \ 2329 a-synbar.adb<libgnarl/a-synbar__posix.adb \ 2330 a-synbar.ads<libgnarl/a-synbar__posix.ads \ 2331 s-dorepr.adb<libgnat/s-dorepr__fma.adb \ 2332 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 2333 s-intman.adb<libgnarl/s-intman__posix.adb \ 2334 s-linux.ads<libgnarl/s-linux.ads \ 2335 $(TRASYM_DWARF_UNIX_PAIRS) \ 2336 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ 2337 s-osinte.ads<libgnarl/s-osinte__linux.ads \ 2338 s-osinte.adb<libgnarl/s-osinte__posix.adb \ 2339 s-osprim.adb<libgnat/s-osprim__posix.adb \ 2340 s-taprop.adb<libgnarl/s-taprop__linux.adb \ 2341 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ 2342 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ 2343 s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \ 2344 s-taspri.ads<libgnarl/s-taspri__posix.ads \ 2345 $(ATOMICS_TARGET_PAIRS) \ 2346 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ 2347 $(GNATRTL_128BIT_PAIRS) \ 2348 system.ads<libgnat/system-linux-arm.ads 2349 2350 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb 2351 2352 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) \ 2353 $(TRASYM_DWARF_UNIX_OBJS) 2354 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o 2355 EH_MECHANISM=-gcc 2356 THREADSLIB=-lpthread -lrt 2357 GNATLIB_SHARED=gnatlib-shared-dual 2358 GMEM_LIB = gmemlib 2359 LIBRARY_VERSION := $(LIB_VERSION) 2360endif 2361 2362# SPARC Linux 2363ifeq ($(strip $(filter-out sparc% linux%,$(target_cpu) $(target_os))),) 2364 LIBGNAT_TARGET_PAIRS = \ 2365 a-intnam.ads<libgnarl/a-intnam__linux.ads \ 2366 a-nallfl.ads<libgnat/a-nallfl__wraplf.ads \ 2367 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 2368 s-intman.adb<libgnarl/s-intman__posix.adb \ 2369 s-linux.ads<libgnarl/s-linux__sparc.ads \ 2370 s-osinte.adb<libgnarl/s-osinte__posix.adb \ 2371 s-osinte.ads<libgnarl/s-osinte__linux.ads \ 2372 s-osprim.adb<libgnat/s-osprim__posix.adb \ 2373 s-taprop.adb<libgnarl/s-taprop__linux.adb \ 2374 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ 2375 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ 2376 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ 2377 s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \ 2378 system.ads<libgnat/system-linux-sparc.ads 2379 2380 ifeq ($(strip $(filter-out sparc64 sparcv9,$(target_cpu))),) 2381 ifneq ($(strip $(MULTISUBDIR)),/32) 2382 LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) 2383 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 2384 endif 2385 else 2386 ifeq ($(strip $(MULTISUBDIR)),/64) 2387 LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) 2388 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 2389 endif 2390 endif 2391 2392 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb 2393 2394 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o 2395 EH_MECHANISM=-gcc 2396 THREADSLIB = -lpthread 2397 GNATLIB_SHARED = gnatlib-shared-dual 2398 GMEM_LIB = gmemlib 2399 LIBRARY_VERSION := $(LIB_VERSION) 2400endif 2401 2402# HP/PA Linux 2403ifeq ($(strip $(filter-out hppa% linux%,$(target_cpu) $(target_os))),) 2404 LIBGNAT_TARGET_PAIRS = \ 2405 a-intnam.ads<libgnarl/a-intnam__linux.ads \ 2406 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 2407 s-intman.adb<libgnarl/s-intman__posix.adb \ 2408 s-linux.ads<libgnarl/s-linux__hppa.ads \ 2409 s-osinte.adb<libgnarl/s-osinte__posix.adb \ 2410 s-osinte.ads<libgnarl/s-osinte__linux.ads \ 2411 s-osprim.adb<libgnat/s-osprim__posix.adb \ 2412 s-taprop.adb<libgnarl/s-taprop__linux.adb \ 2413 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ 2414 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ 2415 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ 2416 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ 2417 system.ads<libgnat/system-linux-hppa.ads 2418 2419 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb 2420 2421 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o 2422 EH_MECHANISM=-gcc 2423 THREADSLIB = -lpthread 2424 GNATLIB_SHARED = gnatlib-shared-dual 2425 GMEM_LIB = gmemlib 2426 LIBRARY_VERSION := $(LIB_VERSION) 2427endif 2428 2429# M68K Linux 2430ifeq ($(strip $(filter-out m68k% linux%,$(target_cpu) $(target_os))),) 2431 LIBGNAT_TARGET_PAIRS = \ 2432 a-intnam.ads<libgnarl/a-intnam__linux.ads \ 2433 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 2434 s-intman.adb<libgnarl/s-intman__posix.adb \ 2435 s-linux.ads<libgnarl/s-linux.ads \ 2436 s-osinte.adb<libgnarl/s-osinte__posix.adb \ 2437 s-osinte.ads<libgnarl/s-osinte__linux.ads \ 2438 s-osprim.adb<libgnat/s-osprim__posix.adb \ 2439 s-taprop.adb<libgnarl/s-taprop__linux.adb \ 2440 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ 2441 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ 2442 s-taspri.ads<libgnarl/s-taspri__posix.ads \ 2443 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ 2444 system.ads<libgnat/system-linux-m68k.ads 2445 2446 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb 2447 2448 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o 2449 EH_MECHANISM=-gcc 2450 THREADSLIB = -lpthread 2451 GNATLIB_SHARED = gnatlib-shared-dual 2452 GMEM_LIB = gmemlib 2453 LIBRARY_VERSION := $(LIB_VERSION) 2454endif 2455 2456# SH4 Linux 2457ifeq ($(strip $(filter-out sh4% linux%,$(target_cpu) $(target_os))),) 2458 LIBGNAT_TARGET_PAIRS = \ 2459 a-intnam.ads<libgnarl/a-intnam__linux.ads \ 2460 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 2461 s-intman.adb<libgnarl/s-intman__posix.adb \ 2462 s-linux.ads<libgnarl/s-linux.ads \ 2463 s-osinte.adb<libgnarl/s-osinte__posix.adb \ 2464 s-osinte.ads<libgnarl/s-osinte__linux.ads \ 2465 s-osprim.adb<libgnat/s-osprim__posix.adb \ 2466 s-taprop.adb<libgnarl/s-taprop__linux.adb \ 2467 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ 2468 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ 2469 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ 2470 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ 2471 system.ads<libgnat/system-linux-sh4.ads 2472 2473 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-linux.adb 2474 2475 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o 2476 EH_MECHANISM=-gcc 2477 MISCLIB= 2478 THREADSLIB = -lpthread 2479 GNATLIB_SHARED = gnatlib-shared-dual 2480 GMEM_LIB = gmemlib 2481 LIBRARY_VERSION := $(LIB_VERSION) 2482endif 2483 2484# IA64 Linux 2485ifeq ($(strip $(filter-out %ia64 linux%,$(target_cpu) $(target_os))),) 2486 LIBGNAT_TARGET_PAIRS = \ 2487 a-exetim.adb<libgnarl/a-exetim__posix.adb \ 2488 a-exetim.ads<libgnarl/a-exetim__default.ads \ 2489 a-intnam.ads<libgnarl/a-intnam__linux.ads \ 2490 a-nuauco.ads<libgnat/a-nuauco__x86.ads \ 2491 a-synbar.adb<libgnarl/a-synbar__posix.adb \ 2492 a-synbar.ads<libgnarl/a-synbar__posix.ads \ 2493 s-dorepr.adb<libgnat/s-dorepr__fma.adb \ 2494 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 2495 s-intman.adb<libgnarl/s-intman__posix.adb \ 2496 s-linux.ads<libgnarl/s-linux.ads \ 2497 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ 2498 s-osinte.ads<libgnarl/s-osinte__linux.ads \ 2499 s-osinte.adb<libgnarl/s-osinte__posix.adb \ 2500 s-osprim.adb<libgnat/s-osprim__posix.adb \ 2501 s-taprop.adb<libgnarl/s-taprop__linux.adb \ 2502 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ 2503 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ 2504 s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \ 2505 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ 2506 $(TRASYM_DWARF_UNIX_PAIRS) \ 2507 s-tsmona.adb<libgnat/s-tsmona__linux.adb \ 2508 $(ATOMICS_TARGET_PAIRS) \ 2509 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ 2510 $(GNATRTL_128BIT_PAIRS) \ 2511 system.ads<libgnat/system-linux-ia64.ads 2512 2513 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb 2514 2515 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) 2516 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 2517 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o 2518 EH_MECHANISM=-gcc 2519 THREADSLIB=-lpthread -lrt 2520 GNATLIB_SHARED=gnatlib-shared-dual 2521 MISCLIB = -ldl 2522 GMEM_LIB = gmemlib 2523 LIBRARY_VERSION := $(LIB_VERSION) 2524endif 2525 2526# IA64 HP-UX 2527ifeq ($(strip $(filter-out ia64% hp hpux%,$(target_cpu) $(target_vendor) $(target_os))),) 2528 LIBGNAT_TARGET_PAIRS = \ 2529 a-intnam.ads<libgnarl/a-intnam__hpux.ads \ 2530 s-dorepr.adb<libgnat/s-dorepr__fma.adb \ 2531 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 2532 s-intman.adb<libgnarl/s-intman__posix.adb \ 2533 s-osinte.adb<libgnarl/s-osinte__posix.adb \ 2534 s-osinte.ads<libgnarl/s-osinte__hpux.ads \ 2535 s-osprim.adb<libgnat/s-osprim__posix.adb \ 2536 s-taprop.adb<libgnarl/s-taprop__posix.adb \ 2537 s-taspri.ads<libgnarl/s-taspri__posix.ads \ 2538 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ 2539 $(TRASYM_DWARF_UNIX_PAIRS) \ 2540 $(ATOMICS_TARGET_PAIRS) \ 2541 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ 2542 $(GNATRTL_128BIT_PAIRS) \ 2543 system.ads<libgnat/system-hpux-ia64.ads 2544 2545 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) 2546 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 2547 2548 MISCLIB= 2549 EH_MECHANISM=-gcc 2550 THREADSLIB=-lpthread 2551 GNATLIB_SHARED=gnatlib-shared-dual 2552 GMEM_LIB = gmemlib 2553 soext = .so 2554 SO_OPTS = -Wl,+h, 2555 LIBRARY_VERSION := $(LIB_VERSION) 2556endif 2557 2558# Alpha Linux 2559ifeq ($(strip $(filter-out alpha% linux%,$(target_cpu) $(target_os))),) 2560 LIBGNAT_TARGET_PAIRS = \ 2561 a-intnam.ads<libgnarl/a-intnam__linux.ads \ 2562 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 2563 s-intman.adb<libgnarl/s-intman__posix.adb \ 2564 s-linux.ads<libgnarl/s-linux__alpha.ads \ 2565 s-osinte.ads<libgnarl/s-osinte__linux.ads \ 2566 s-osinte.adb<libgnarl/s-osinte__posix.adb \ 2567 s-osprim.adb<libgnat/s-osprim__posix.adb \ 2568 s-taprop.adb<libgnarl/s-taprop__linux.adb \ 2569 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ 2570 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ 2571 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ 2572 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ 2573 $(ATOMICS_TARGET_PAIRS) \ 2574 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ 2575 $(GNATRTL_128BIT_PAIRS) \ 2576 system.ads<libgnat/system-linux-alpha.ads 2577 2578 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb 2579 2580 EXTRA_GNATRTL_NONTASKING_OBJS = $(GNATRTL_128BIT_OBJS) 2581 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o 2582 EH_MECHANISM=-gcc 2583 MISCLIB= 2584 THREADSLIB=-lpthread 2585 GNATLIB_SHARED=gnatlib-shared-dual 2586 LIBRARY_VERSION := $(LIB_VERSION) 2587endif 2588 2589# x86-64 Linux 2590ifeq ($(strip $(filter-out %x86_64 linux%,$(target_cpu) $(target_os))),) 2591 LIBGNAT_TARGET_PAIRS = \ 2592 a-exetim.adb<libgnarl/a-exetim__posix.adb \ 2593 a-exetim.ads<libgnarl/a-exetim__default.ads \ 2594 a-intnam.ads<libgnarl/a-intnam__linux.ads \ 2595 a-synbar.adb<libgnarl/a-synbar__posix.adb \ 2596 a-synbar.ads<libgnarl/a-synbar__posix.ads \ 2597 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 2598 s-intman.adb<libgnarl/s-intman__posix.adb \ 2599 s-linux.ads<libgnarl/s-linux.ads \ 2600 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ 2601 s-osinte.ads<libgnarl/s-osinte__linux.ads \ 2602 s-osinte.adb<libgnarl/s-osinte__posix.adb \ 2603 s-osprim.adb<libgnat/s-osprim__posix.adb \ 2604 s-taprop.adb<libgnarl/s-taprop__linux.adb \ 2605 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ 2606 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ 2607 s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \ 2608 s-taspri.ads<libgnarl/s-taspri__posix.ads \ 2609 $(TRASYM_DWARF_UNIX_PAIRS) \ 2610 s-tsmona.adb<libgnat/s-tsmona__linux.adb \ 2611 $(ATOMICS_TARGET_PAIRS) \ 2612 $(X86_64_TARGET_PAIRS) \ 2613 $(GNATRTL_128BIT_PAIRS) \ 2614 system.ads<libgnat/system-linux-x86.ads 2615 2616 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb 2617 2618 EXTRA_GNATRTL_NONTASKING_OBJS += g-sse.o g-ssvety.o 2619 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) 2620 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 2621 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o 2622 2623 EH_MECHANISM=-gcc 2624 THREADSLIB=-lpthread -lrt 2625 MISCLIB = -ldl 2626 GNATLIB_SHARED=gnatlib-shared-dual 2627 GMEM_LIB = gmemlib 2628 LIBRARY_VERSION := $(LIB_VERSION) 2629 2630 GNATLIBCFLAGS_FOR_GCCSJLJ+=-fno-omit-frame-pointer -momit-leaf-frame-pointer 2631endif 2632 2633ifeq ($(strip $(filter-out %x32 linux%,$(target_cpu) $(target_os))),) 2634 LIBGNAT_TARGET_PAIRS = \ 2635 a-exetim.adb<libgnarl/a-exetim__posix.adb \ 2636 a-exetim.ads<libgnarl/a-exetim__default.ads \ 2637 a-intnam.ads<libgnarl/a-intnam__linux.ads \ 2638 a-synbar.adb<libgnarl/a-synbar__posix.adb \ 2639 a-synbar.ads<libgnarl/a-synbar__posix.ads \ 2640 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 2641 s-intman.adb<libgnarl/s-intman__posix.adb \ 2642 s-linux.ads<libgnarl/s-linux__x32.ads \ 2643 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ 2644 s-osinte.ads<libgnarl/s-osinte__linux.ads \ 2645 s-osinte.adb<libgnarl/s-osinte__x32.adb \ 2646 s-osprim.adb<libgnat/s-osprim__x32.adb \ 2647 s-parame.ads<libgnat/s-parame__posix2008.ads \ 2648 s-taprop.adb<libgnarl/s-taprop__linux.adb \ 2649 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ 2650 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ 2651 s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \ 2652 s-taspri.ads<libgnarl/s-taspri__posix.ads \ 2653 $(ATOMICS_TARGET_PAIRS) \ 2654 $(X86_64_TARGET_PAIRS) \ 2655 system.ads<libgnat/system-linux-x86.ads 2656 2657 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb 2658 2659 EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o 2660 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o 2661 EH_MECHANISM=-gcc 2662 THREADSLIB=-lpthread -lrt 2663 GNATLIB_SHARED=gnatlib-shared-dual 2664 GMEM_LIB = gmemlib 2665 LIBRARY_VERSION := $(LIB_VERSION) 2666endif 2667 2668# RISC-V Linux 2669ifeq ($(strip $(filter-out riscv% linux%,$(target_cpu) $(target_os))),) 2670 LIBGNAT_TARGET_PAIRS = \ 2671 a-intnam.ads<libgnarl/a-intnam__linux.ads \ 2672 a-nallfl.ads<libgnat/a-nallfl__wraplf.ads \ 2673 s-dorepr.adb<libgnat/s-dorepr__fma.adb \ 2674 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 2675 s-intman.adb<libgnarl/s-intman__posix.adb \ 2676 s-linux.ads<libgnarl/s-linux__riscv.ads \ 2677 s-osinte.adb<libgnarl/s-osinte__posix.adb \ 2678 s-osinte.ads<libgnarl/s-osinte__linux.ads \ 2679 s-osprim.adb<libgnat/s-osprim__posix.adb \ 2680 s-taprop.adb<libgnarl/s-taprop__linux.adb \ 2681 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ 2682 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ 2683 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ 2684 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ 2685 system.ads<libgnat/system-linux-riscv.ads 2686 2687 ifeq ($(strip $(filter-out riscv64,$(target_cpu))),) 2688 ifneq ($(strip $(MULTISUBDIR)),/lib32) 2689 LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) 2690 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 2691 endif 2692 else 2693 ifeq ($(strip $(MULTISUBDIR)),/lib64) 2694 LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) 2695 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 2696 endif 2697 endif 2698 2699 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb 2700 2701 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o 2702 EH_MECHANISM=-gcc 2703 THREADSLIB = -lpthread 2704 GNATLIB_SHARED = gnatlib-shared-dual 2705 GMEM_LIB = gmemlib 2706 LIBRARY_VERSION := $(LIB_VERSION) 2707endif 2708 2709# Darwin (Mac OS X) 2710ifeq ($(strip $(filter-out darwin%,$(target_os))),) 2711 SO_OPTS = -shared-libgcc 2712 LIBGNAT_TARGET_PAIRS = \ 2713 a-intnam.ads<libgnarl/a-intnam__darwin.ads \ 2714 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ 2715 s-osinte.adb<libgnarl/s-osinte__darwin.adb \ 2716 s-osinte.ads<libgnarl/s-osinte__darwin.ads \ 2717 s-taprop.adb<libgnarl/s-taprop__posix.adb \ 2718 s-taspri.ads<libgnarl/s-taspri__posix.ads \ 2719 g-sercom.adb<libgnat/g-sercom__linux.adb \ 2720 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb 2721 2722 ifeq ($(strip $(filter-out %86,$(target_cpu))),) 2723 LIBGNAT_TARGET_PAIRS += \ 2724 s-intman.adb<libgnarl/s-intman__susv3.adb \ 2725 s-osprim.adb<libgnat/s-osprim__darwin.adb \ 2726 $(ATOMICS_TARGET_PAIRS) \ 2727 system.ads<libgnat/system-darwin-x86.ads 2728 2729 ifeq ($(strip $(MULTISUBDIR)),/x86_64) 2730 SO_OPTS += -m64 2731 LIBGNAT_TARGET_PAIRS += $(X86_64_TARGET_PAIRS) 2732 LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) 2733 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 2734 else 2735 LIBGNAT_TARGET_PAIRS += $(X86_TARGET_PAIRS) 2736 endif 2737 2738 EXTRA_GNATRTL_NONTASKING_OBJS += g-sse.o g-ssvety.o 2739 endif 2740 2741 ifeq ($(strip $(filter-out %x86_64,$(target_cpu))),) 2742 LIBGNAT_TARGET_PAIRS += \ 2743 s-intman.adb<libgnarl/s-intman__susv3.adb \ 2744 s-osprim.adb<libgnat/s-osprim__darwin.adb \ 2745 a-exetim.ads<libgnarl/a-exetim__default.ads \ 2746 a-exetim.adb<libgnarl/a-exetim__darwin.adb \ 2747 $(ATOMICS_TARGET_PAIRS) \ 2748 system.ads<libgnat/system-darwin-x86.ads 2749 2750 ifeq ($(strip $(MULTISUBDIR)),/i386) 2751 SO_OPTS += -m32 2752 LIBGNAT_TARGET_PAIRS += $(X86_TARGET_PAIRS) 2753 else 2754 LIBGNAT_TARGET_PAIRS += $(X86_64_TARGET_PAIRS) 2755 LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) 2756 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 2757 endif 2758 2759 EXTRA_GNATRTL_NONTASKING_OBJS += g-sse.o g-ssvety.o 2760 EXTRA_GNATRTL_TASKING_OBJS=a-exetim.o 2761 endif 2762 2763 ifeq ($(strip $(filter-out powerpc%,$(target_cpu))),) 2764 LIBGNAT_TARGET_PAIRS += \ 2765 a-nallfl.ads<libgnat/a-nallfl__wraplf.ads \ 2766 s-intman.adb<libgnarl/s-intman__posix.adb \ 2767 s-osprim.adb<libgnat/s-osprim__posix.adb \ 2768 $(ATOMICS_TARGET_PAIRS) \ 2769 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ 2770 system.ads<libgnat/system-darwin-ppc.ads 2771 2772 ifeq ($(strip $(filter-out powerpc64,$(target_cpu))),) 2773 ifneq ($(strip $(MULTISUBDIR)),/ppc) 2774 LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) 2775 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 2776 else 2777 SO_OPTS += -m32 2778 endif 2779 else 2780 ifeq ($(strip $(MULTISUBDIR)),/ppc64) 2781 SO_OPTS += -m64 2782 LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) 2783 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 2784 endif 2785 endif 2786 endif 2787 2788 ifeq ($(strip $(filter-out arm,$(target_cpu))),) 2789 LIBGNAT_TARGET_PAIRS += \ 2790 s-intman.adb<libgnarl/s-intman__susv3.adb \ 2791 s-osprim.adb<libgnat/s-osprim__darwin.adb \ 2792 $(ATOMICS_TARGET_PAIRS) \ 2793 $(ATOMICS_BUILTINS_TARGET_PAIRS) 2794 2795 LIBGNAT_TARGET_PAIRS += \ 2796 system.ads<libgnat/system-darwin-arm.ads 2797 endif 2798 2799 ifeq ($(strip $(filter-out arm64 aarch64,$(target_cpu))),) 2800 LIBGNAT_TARGET_PAIRS += \ 2801 a-nallfl.ads<libgnat/a-nallfl__wraplf.ads \ 2802 s-intman.adb<libgnarl/s-intman__susv3.adb \ 2803 s-dorepr.adb<libgnat/s-dorepr__fma.adb \ 2804 s-osprim.adb<libgnat/s-osprim__darwin.adb \ 2805 $(ATOMICS_TARGET_PAIRS) \ 2806 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ 2807 $(GNATRTL_128BIT_PAIRS) 2808 2809 EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) 2810 EXTRA_LIBGNAT_OBJS+=sigtramp-ios.o 2811 EXTRA_LIBGNAT_SRCS+=sigtramp.h 2812 LIBGNAT_TARGET_PAIRS += \ 2813 system.ads<libgnat/system-darwin-arm.ads 2814 endif 2815 2816 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-darwin.adb 2817 2818 EH_MECHANISM=-gcc 2819 GNATLIB_SHARED = gnatlib-shared-darwin 2820 GMEM_LIB = gmemlib 2821 LIBRARY_VERSION := $(LIB_VERSION) 2822 soext = .dylib 2823 GCC_LINK_FLAGS=-static-libstdc++ 2824endif 2825 2826ifeq ($(EH_MECHANISM),-gcc) 2827 LIBGNAT_TARGET_PAIRS += \ 2828 s-excmac.ads<libgnat/s-excmac__gcc.ads \ 2829 s-excmac.adb<libgnat/s-excmac__gcc.adb 2830 EXTRA_LIBGNAT_OBJS+=raise-gcc.o 2831 EXTRA_GNATRTL_NONTASKING_OBJS+=g-cppexc.o s-excmac.o 2832endif 2833 2834ifeq ($(EH_MECHANISM),-arm) 2835 LIBGNAT_TARGET_PAIRS += \ 2836 s-excmac.ads<libgnat/s-excmac__arm.ads \ 2837 s-excmac.adb<libgnat/s-excmac__arm.adb 2838 EXTRA_LIBGNAT_OBJS+=raise-gcc.o 2839 EXTRA_GNATRTL_NONTASKING_OBJS+=g-cppexc.o s-excmac.o 2840endif 2841 2842ifeq ($(strip $(filter-out linux%,$(target_os))),) 2843 LIBGNAT_TARGET_PAIRS += \ 2844 g-sercom.adb<libgnat/g-sercom__linux.adb 2845endif 2846 2847# Turn on shared gnatlib for specific vx7r2 targets for RTP runtimes. Once 2848# all targets are ported the target_cpu selector can be removed. 2849ifeq ($(strip $(filter-out vxworks7r2 powerpc64 x86_64 rtp rtp-smp, $(target_os) $(target_cpu) $(THREAD_KIND))),) 2850 GNATLIB_SHARED = gnatlib-shared-dual 2851 LIBRARY_VERSION := $(LIB_VERSION) 2852endif 2853 2854LIBGNAT_TARGET_PAIRS += \ 2855 interfac.ads<libgnat/interfac__2020.ads 2856 2857# LIBGNAT_SRCS is the list of all C files (including headers) of the runtime 2858# library. LIBGNAT_OBJS is the list of object files for libgnat. 2859# thread.c is special as put into GNATRTL_TASKING_OBJS 2860LIBGNAT_OBJS = adadecode.o adaint.o argv.o aux-io.o \ 2861 cal.o cio.o cstreams.o ctrl_c.o \ 2862 env.o errno.o exit.o expect.o final.o rtfinal.o rtinit.o \ 2863 init.o initialize.o locales.o mkdir.o \ 2864 raise.o seh_init.o socket.o sysdep.o \ 2865 targext.o terminals.o tracebak.o \ 2866 $(EXTRA_LIBGNAT_OBJS) 2867 2868# NOTE ??? - when the -I option for compiling Ada code is made to work, 2869# the library installation will change and there will be a 2870# GNAT_RTL_SRCS. Right now we count on being able to build GNATRTL_OBJS 2871# from ADA_INCLUDE_SRCS. 2872 2873LIBGNAT_SRCS = $(patsubst %.o,%.c,$(LIBGNAT_OBJS)) \ 2874 adadecode.h adaint.h env.h gsocket.h raise.h standard.ads.h \ 2875 runtime.h $(EXTRA_LIBGNAT_SRCS) 2876 2877# memtrack.o is special as not put into libgnat. 2878GNATRTL_OBJS = $(GNATRTL_NONTASKING_OBJS) $(GNATRTL_TASKING_OBJS) \ 2879 memtrack.o 2880 2881# Run time source files 2882# Note that libgnat contains a significant number of files. In orde to avoid 2883# command line length limitations the source regexp has been split for that 2884# directory. 2885ADA_INCLUDE_SRCS =\ 2886 libgnat/ada.ads libgnat/calendar.ads libgnat/directio.ads libgnat/gnat.ads libgnat/interfac.ads libgnat/ioexcept.ads \ 2887 libgnat/machcode.ads libgnat/text_io.ads libgnat/unchconv.ads libgnat/unchdeal.ads \ 2888 libgnat/sequenio.ads libgnat/memtrack.adb \ 2889 libgna*/*.gpr \ 2890 libgnat/a-[a-o]*.adb libgnat/a-[a-o]*.ads \ 2891 libgnat/a-[p-z]*.adb libgnat/a-[p-z]*.ads \ 2892 libgnat/g-[a-o]*.adb libgnat/g-[a-o]*.ads \ 2893 libgnat/g-[p-z]*.adb libgnat/g-[p-z]*.ads \ 2894 libgnat/s-[a-o]*.adb libgnat/s-[a-o]*.ads \ 2895 libgnat/s-[p-z]*.adb libgnat/s-[p-z]*.ads \ 2896 libgnat/i-[a-o]*.adb libgnat/i-[a-o]*.ads \ 2897 libgnat/i-[p-z]*.adb libgnat/i-[p-z]*.ads \ 2898 libgnarl/[agis]-[a-z]*.ad[sb] 2899 2900 2901# Files that are in ADA_INCLUDE_SRCS but not in all configurations. 2902# They will be removed from the run time if not used. 2903ADA_EXCLUDE_SRCS =\ 2904 g-allein.ads g-alleve.adb g-alleve.ads g-altcon.adb g-altcon.ads \ 2905 g-altive.ads g-alveop.adb g-alveop.ads g-alvety.ads g-alvevi.ads \ 2906 g-intpri.ads g-regist.adb g-regist.ads g-sse.ads g-ssvety.ads \ 2907 i-vxinco.adb i-vxinco.ads i-vxwoio.adb i-vxwoio.ads i-vxwork.ads \ 2908 s-linux.ads s-vxwext.adb s-vxwext.ads s-win32.ads s-winext.ads \ 2909 s-sopco3.adb s-sopco3.ads s-sopco4.adb s-sopco4.ads \ 2910 s-sopco5.adb s-sopco5.ads s-stchop.ads s-stchop.adb \ 2911 s-strcom.adb s-strcom.ads s-thread.ads \ 2912 2913# ADA_EXCLUDE_SRCS without the sources used by the target 2914ADA_EXCLUDE_FILES=$(filter-out \ 2915 $(patsubst %$(objext),%.ads,$(GNATRTL_OBJS)) \ 2916 $(patsubst %$(objext),%.adb,$(GNATRTL_OBJS)), \ 2917 $(ADA_EXCLUDE_SRCS)) 2918 2919setup-rts: force 2920 $(RMDIR) $(RTSDIR) 2921 $(MKDIR) $(RTSDIR) 2922 $(CHMOD) u+w $(RTSDIR) 2923# Copy target independent sources 2924 $(foreach f,$(ADA_INCLUDE_SRCS) $(LIBGNAT_SRCS) libgnarl/thread.c, \ 2925 $(LN_S) $(GNAT_SRC)/$(f) $(RTSDIR) ;) true 2926# Remove files not used 2927 $(RM) $(patsubst %,$(RTSDIR)/%,$(ADA_EXCLUDE_FILES)) 2928# Remove files to be replaced by target dependent sources 2929 $(RM) $(foreach PAIR,$(LIBGNAT_TARGET_PAIRS), \ 2930 $(RTSDIR)/$(word 1,$(subst <, ,$(PAIR)))) 2931 for f in $(RTSDIR)/*-*__*.ads $(RTSDIR)/*-*__*.adb; do \ 2932 $(RM) $$f ; \ 2933 done 2934# Copy new target dependent sources 2935 $(foreach PAIR,$(LIBGNAT_TARGET_PAIRS), \ 2936 $(LN_S) $(GNAT_SRC)/$(word 2,$(subst <, ,$(PAIR))) \ 2937 $(RTSDIR)/$(word 1,$(subst <, ,$(PAIR)));) 2938# And finally generate libgnat.lst and libgnarl.lst 2939 @for f in \ 2940 $(foreach F,$(GNATRTL_TASKING_OBJS),$(subst $(objext),.ads,$(F))) \ 2941 $(foreach F,$(GNATRTL_TASKING_OBJS),$(subst $(objext),.adb,$(F))); \ 2942 do \ 2943 if [ -f $(RTSDIR)/$$f ]; then echo $$f >> $(RTSDIR)/libgnarl.lst; fi \ 2944 done 2945 @echo thread.c >> $(RTSDIR)/libgnarl.lst 2946 @for f in \ 2947 $(foreach F,$(GNATRTL_NONTASKING_OBJS),$(subst $(objext),.ads,$(F))) \ 2948 $(foreach F,$(GNATRTL_NONTASKING_OBJS),$(subst $(objext),.adb,$(F))); \ 2949 do \ 2950 if [ -f $(RTSDIR)/$$f ]; then echo $$f >> $(RTSDIR)/libgnat.lst; fi \ 2951 done 2952# s-oscons.ads is generated later, so hardcode it here 2953 @echo s-oscons.ads >> $(RTSDIR)/libgnat.lst 2954 @for f in $(LIBGNAT_SRCS); do \ 2955 echo $$f >> $(RTSDIR)/libgnat.lst; \ 2956 done 2957 2958# Special flags. It is recommended not to change the compilation flags 2959# without a careful analysis of the consequences because (part of) the 2960# runtime implements low-level support that is outside of the semantics 2961# of the language and therefore needs to be treated differently from the 2962# other units. For example, the part of the runtime implementing the 2963# propagation of exceptions cannot itself be compiled with checks that 2964# may give rise to exceptions, e.g. stack overflow checks. 2965 2966# Generate target-dependent info into a file named ada_target_properties. 2967# This information is used by tools for static analysis: they need to know 2968# the size of standard types for a given run-time library. This metadata 2969# is meant to be saved at the root of the run-time directory. 2970 2971ADA_TARGET_PROPERTIES = -gnatet=ada_target_properties 2972 2973system.o: system.ads 2974 $(ADAC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) $< \ 2975 $(ADA_TARGET_PROPERTIES) \ 2976 $(OUTPUT_OPTION) 2977 2978# Force no sibling call optimization on s-traceb.o so the number of stack 2979# frames to be skipped when computing a call chain is not modified by 2980# optimization. We don't want inlining, either. 2981 2982s-traceb.o: s-traceb.adb s-traceb.ads 2983 $(ADAC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) \ 2984 $(NO_INLINE_ADAFLAGS) $(NO_SIBLING_ADAFLAGS) $(ADA_INCLUDES) $< \ 2985 $(OUTPUT_OPTION) 2986 2987# Compile s-tasdeb.o without optimization and with debug info so that it is 2988# always possible to set conditional breakpoints on tasks. 2989 2990s-tasdeb.o: s-tasdeb.adb s-tasdeb.ads 2991 $(ADAC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O0 $(ADA_INCLUDES) \ 2992 $< $(OUTPUT_OPTION) 2993 2994# Force no function reordering on a-except.o because of the exclusion bounds 2995# mechanism (see the source file for more detailed information). 2996# force debugging information on a-except.o so that it is always 2997# possible to set conditional breakpoints on exceptions. 2998# use -O1 otherwise gdb isn't able to get a full backtrace on mips targets. 2999 3000a-except.o: a-except.adb a-except.ads 3001 $(ADAC) -c $(ALL_ADAFLAGS) -O1 $(FORCE_DEBUG_ADAFLAGS) \ 3002 $(NO_INLINE_ADAFLAGS) $(NO_REORDER_ADAFLAGS) $(ADA_INCLUDES) \ 3003 $< $(OUTPUT_OPTION) 3004 3005# Compile s-excdeb.o without optimization and with debug info to let the 3006# debugger set breakpoints and inspect subprogram parameters on exception 3007# related events. 3008 3009s-excdeb.o: s-excdeb.adb s-excdeb.ads s-except.ads 3010 $(ADAC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O0 \ 3011 $(ADA_INCLUDES) $< $(OUTPUT_OPTION) 3012 3013# Force debugging information on s-assert.o so that it is always 3014# possible to set breakpoint on assert failures. 3015 3016s-assert.o: s-assert.adb s-assert.ads 3017 $(ADAC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) $(ADA_INCLUDES) \ 3018 $< $(OUTPUT_OPTION) 3019 3020# Force debugging information on a-tags.o so that the debugger can find 3021# the description of Ada.Tags.Type_Specific_Data. 3022 3023a-tags.o: a-tags.adb a-tags.ads 3024 $(ADAC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) $(ADA_INCLUDES) \ 3025 $< $(OUTPUT_OPTION) 3026 3027# Force no sibling call optimization on s-memory.o to avoid turning the 3028# tail recursion in Alloc into a loop that confuses branch prediction. 3029 3030s-memory.o: s-memory.adb s-memory.ads 3031 $(ADAC) -c $(ALL_ADAFLAGS) $(NO_SIBLING_ADAFLAGS) $(ADA_INCLUDES) \ 3032 $< $(OUTPUT_OPTION) 3033 3034# Need to keep functions ordered on g-debpoo.o since labels are used to 3035# exclude subprograms from traceback computation. 3036 3037g-debpoo.o: g-debpoo.adb g-debpoo.ads 3038 $(ADAC) -c $(ALL_ADAFLAGS) $(NO_REORDER_ADAFLAGS) $(ADA_INCLUDES) \ 3039 $< $(OUTPUT_OPTION) 3040