mirror of
https://github.com/zebrajr/pytorch.git
synced 2025-12-07 12:21:27 +01:00
Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/29143 THP_CORE macro is a very old macro that appeared to have served two purposes: 1. The torch-python equivalent of CAFFE2_BUILD_MAIN_LIB, to toggle symbol visibility headers 2. Some sort of ad hoc way of hiding certain definitions from headers so external clients can't get at them. It did (2) in a very confusing manner, because we set THP_CORE in both torch and torch-python (it shouldn't do anything in torch). In this PR I just get rid of use case (2) entirely (so everything shows up in headers all the time), and then redo (1) using a new THP_BUILD_MAIN_LIB macro. This cleans up some of the macro definitions and makes my life easier for working on #27215. Signed-off-by: Edward Z. Yang <ezyang@fb.com> Test Plan: Imported from OSS Differential Revision: D18309594 Pulled By: ezyang fbshipit-source-id: adcb6d7cb387cd818480137e2b94e5e761dbfefc
46 lines
1.3 KiB
C
46 lines
1.3 KiB
C
#ifndef THP_H
|
|
#define THP_H
|
|
|
|
#include <torch/csrc/python_headers.h>
|
|
#include <TH/TH.h>
|
|
#include <TH/THTensor.hpp>
|
|
|
|
#include <torch/csrc/THP_export.h>
|
|
|
|
// Back-compatibility macros, Thanks to http://cx-oracle.sourceforge.net/
|
|
// define PyInt_* macros for Python 3.x. NB: We must include Python.h first,
|
|
// otherwise we'll incorrectly conclude PyInt_Check isn't defined!
|
|
#ifndef PyInt_Check
|
|
#define PyInt_Check PyLong_Check
|
|
#define PyInt_FromLong PyLong_FromLong
|
|
#define PyInt_AsLong PyLong_AsLong
|
|
#define PyInt_Type PyLong_Type
|
|
#endif
|
|
|
|
// By default, don't specify library state (TH doesn't use one)
|
|
#define LIBRARY_STATE
|
|
#define LIBRARY_STATE_NOARGS
|
|
#define LIBRARY_STATE_TYPE
|
|
#define LIBRARY_STATE_TYPE_NOARGS
|
|
|
|
#define THWStorage THStorage
|
|
#define THWStorage_(NAME) THStorage_(NAME)
|
|
#define THWTensor THTensor
|
|
#define THWTensor_(NAME) THTensor_(NAME)
|
|
|
|
#include <torch/csrc/Exceptions.h>
|
|
#include <torch/csrc/Generator.h>
|
|
#include <torch/csrc/Module.h>
|
|
#include <torch/csrc/PtrWrapper.h>
|
|
#include <torch/csrc/Size.h>
|
|
#include <torch/csrc/Storage.h>
|
|
#include <torch/csrc/Types.h>
|
|
#include <torch/csrc/utils.h> // This requires defined Storage and Tensor types
|
|
#include <torch/csrc/utils/byte_order.h>
|
|
|
|
#include <torch/csrc/serialization.h>
|
|
|
|
#include <torch/csrc/autograd/python_autograd.h>
|
|
|
|
#endif
|