targets/OSX/__init__.py
author Edouard Tisserant <edouard@beremiz.fr>
Fri, 06 Dec 2024 12:16:07 +0100
changeset 4062 1994928ce3d2
parent 3799 2b995a4963a4
permissions -rw-r--r--
py_ext: fix CSV update happening only once.
3778
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
     1
#!/usr/bin/env python
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
     2
# -*- coding: utf-8 -*-
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
     3
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
     4
# This file is part of Beremiz, a Integrated Development Environment for
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
     5
# programming IEC 61131-3 automates supporting plcopen standard and CanFestival.
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
     6
#
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
     7
# Copyright (C) 2007: Edouard TISSERANT and Laurent BESSARD
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
     8
#
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
     9
# See COPYING file for copyrights details.
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    10
#
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    11
# This program is free software; you can redistribute it and/or
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    12
# modify it under the terms of the GNU General Public License
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    13
# as published by the Free Software Foundation; either version 2
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    14
# of the License, or (at your option) any later version.
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    15
#
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    16
# This program is distributed in the hope that it will be useful,
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    17
# but WITHOUT ANY WARRANTY; without even the implied warranty of
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    18
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    19
# GNU General Public License for more details.
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    20
#
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    21
# You should have received a copy of the GNU General Public License
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    22
# along with this program; if not, write to the Free Software
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    23
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    24
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    25
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    26
from ..toolchain_gcc import toolchain_gcc
3799
2b995a4963a4 Better LDFLAGS and CFLAGS for win32 an MACOS
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 3779
diff changeset
    27
import platform
3778
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    28
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    29
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    30
class OSX_target(toolchain_gcc):
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    31
    dlopen_prefix = "./"
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    32
    extension = ".dynlib"
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    33
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    34
    def getBuilderCFLAGS(self):
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    35
        return toolchain_gcc.getBuilderCFLAGS(self) + \
3779
31c9409a5841 silence compile warnings
GP Orcullo <kinsamanka@gmail.com>
parents: 3778
diff changeset
    36
            ["-fPIC", "-Wno-deprecated-declarations",
31c9409a5841 silence compile warnings
GP Orcullo <kinsamanka@gmail.com>
parents: 3778
diff changeset
    37
             "-Wno-implicit-function-declaration", "-Wno-int-conversion",
3799
2b995a4963a4 Better LDFLAGS and CFLAGS for win32 an MACOS
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 3779
diff changeset
    38
             "-Wno-parentheses-equality", "-Wno-varargs", "-arch", platform.machine()]
3778
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    39
296e459efdfb Preliminary OSX support
GP Orcullo <kinsamanka@gmail.com>
parents:
diff changeset
    40
    def getBuilderLDFLAGS(self):
3799
2b995a4963a4 Better LDFLAGS and CFLAGS for win32 an MACOS
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 3779
diff changeset
    41
        return toolchain_gcc.getBuilderLDFLAGS(self) + ["-shared", "-arch", platform.machine()]